Prev: 50385 Up: Map Next: 51299
51233: Routine at C821
Used by the routines at 40142, 50385, 52162, 52279, 53368, 54122, 54511 and 56428.
51233 PUSH IX Stash IX and BC on the stack.
51235 PUSH BC
51236 CALL FetchObjectDataPointer Call FetchObjectDataPointer.
51239 LD B,A B=A.
51240 LD A,(41014) A=*CurrentCharacter_ID.
51243 CALL 51299 Call 51299.
51246 CP B Jump to 51293 if A is equal to B.
51247 JR Z,51293
51249 BIT 7,(IX+5) Jump to 51290 if bit 7 of *IX+5 is not set.
51253 JR Z,51290
51255 LD C,A C=A.
51256 LD A,B A=B.
51257 LD B,C B=C.
51258 CALL 51299 Call 51299.
51261 LD C,A C=A.
51262 LD A,(41014) A=*CurrentCharacter_ID.
51265 CP C Jump to 51293 if A is equal to C.
51266 JR Z,51293
51268 LD A,C A=C.
51269 CP B Jump to 51290 if A is not equal to B.
51270 JR NZ,51290
51272 INC A Increment A by one.
51273 JR NZ,51293 Jump to 51293 if A is not equal to B.
51275 LD B,(IX+0) B=*IX+0.
51278 LD A,(40970) Jump to 51293 if *40970 is equal to *IX+15.
51281 CP (IX+15)
51284 JR Z,51293
51286 INC IX Increment IX by one.
51288 DJNZ 51281 Decrease counter by one and loop back to 51281 until counter is zero.
51290 XOR A A=0.
51291 JR 51295 Jump to 51295.
51293 OR %00000001 Set bit 0.
51295 POP BC Restore BC and IX from the stack.
51296 POP IX
51298 RET Return.
Prev: 50385 Up: Map Next: 51299