![]() |
Routines |
| Prev: 9138 | Up: Map | Next: 9171 |
|
Used by the routines at Action_Shoot and Action_Attack.
Stops the verb when bits 4-6 of the current object's flag byte overlap the same bits of the character's flag byte. On the player's turn bit 4 of the object's flag byte is cleared first.
|
||||
| Action_TestTheSharedFlagBits | 914A | LD IX,($B708) | Read *B708. | |
|
Test whose turn it is.
|
||||
| 914E | LD A,($B6EA) | Jump to Action_TestTheSharedFlagBits_CompareTheFlags if *CurrentCharacter is not zero. | ||
| 9151 | AND A | |||
| 9152 | JR NZ,Action_TestTheSharedFlagBits_CompareTheFlags | |||
| 9154 | BIT 4,(IX+$04) | Jump to Action_TestTheSharedFlagBits_CompareTheFlags if bit 4 of the object's second flag is clear. | ||
| 9158 | JR Z,Action_TestTheSharedFlagBits_CompareTheFlags | |||
| 915A | RES 4,(IX+$04) | Clear the object's second flag so bit 4 is off. | ||
| Action_TestTheSharedFlagBits_CompareTheFlags | 915E | LD A,(IX+$04) | Read the object's flag byte. | |
| 9161 | AND $70 | Keep bits 4-6 of the object's flag byte and read the character at Pointer_CurrentCharacter. | ||
| 9163 | LD IX,($B70C) | |||
| 9167 | AND (IX+$04) | Return when those bits do not overlap the character's flag byte. | ||
| 916A | RET Z | |||
| 916B | POP HL | Drop the return address and clear the message-suppressed flag. | ||
| 916C | XOR A | |||
| 916D | LD ($B6FB),A | |||
| 9170 | RET | Return. | ||
| Prev: 9138 | Up: Map | Next: 9171 |