Prev: AC88 Up: Map Next: ACFC
ACBD: Move Player To Room
Used by the routine at ChangeRoom.
Input
A Destination room ID
MovePlayerToRoom ACBD LD C,A Load the destination room ID into C.
ACBE LD A,($BBCF) Jump to MovePlayerToRoom_3 if *Count_ScenicEvents is zero.
ACC1 AND A
ACC2 JR Z,MovePlayerToRoom_3
ACC4 LD B,A
ACC5 LD HL,$B6BA
ACC8 JR MovePlayerToRoom_1
MovePlayerToRoom_0 ACCA INC HL
MovePlayerToRoom_1 ACCB LD A,(HL)
ACCC CALL ValidateItemPresent
ACCF JR NZ,MovePlayerToRoom_2
ACD1 PUSH HL
ACD2 PUSH BC
ACD3 LD B,(HL)
ACD4 CALL Handler_UpdateItemLocation
ACD7 POP BC
ACD8 POP HL
MovePlayerToRoom_2 ACD9 DJNZ MovePlayerToRoom_0
MovePlayerToRoom_3 ACDB LD A,C
ACDC LD ($A106),A
ACDF LD A,($A0D1)
ACE2 AND A
ACE3 RET Z
ACE4 LD B,$08
ACE6 LD HL,$B6F4
ACE9 LD C,A
ACEA JR MovePlayerToRoom_5
MovePlayerToRoom_4 ACEC INC HL
MovePlayerToRoom_5 ACED SRL C
ACEF JR NC,MovePlayerToRoom_6
ACF1 LD A,(HL)
ACF2 PUSH HL
ACF3 PUSH BC
ACF4 CALL Handler_UpdateItemEventCurrentRoom
ACF7 POP BC
ACF8 POP HL
MovePlayerToRoom_6 ACF9 DJNZ MovePlayerToRoom_4
ACFB RET
View the equivalent code in;
Prev: AC88 Up: Map Next: ACFC