![]() |
Routines |
| Prev: 37176 | Up: Map | Next: 37233 |
|
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 | 37194 | LD IX,(46856) | Read *46856. | |
|
Test whose turn it is.
|
||||
| 37198 | LD A,(46826) | Jump to Action_TestTheSharedFlagBits_CompareTheFlags if *CurrentCharacter is not zero. | ||
| 37201 | AND A | |||
| 37202 | JR NZ,Action_TestTheSharedFlagBits_CompareTheFlags | |||
| 37204 | BIT 4,(IX+4) | Jump to Action_TestTheSharedFlagBits_CompareTheFlags if bit 4 of the object's second flag is clear. | ||
| 37208 | JR Z,Action_TestTheSharedFlagBits_CompareTheFlags | |||
| 37210 | RES 4,(IX+4) | Clear the object's second flag so bit 4 is off. | ||
| Action_TestTheSharedFlagBits_CompareTheFlags | 37214 | LD A,(IX+4) | Read the object's flag byte. | |
| 37217 | AND 112 | Keep bits 4-6 of the object's flag byte and read the character at Pointer_CurrentCharacter. | ||
| 37219 | LD IX,(46860) | |||
| 37223 | AND (IX+4) | Return when those bits do not overlap the character's flag byte. | ||
| 37226 | RET Z | |||
| 37227 | POP HL | Drop the return address and clear the message-suppressed flag. | ||
| 37228 | XOR A | |||
| 37229 | LD (46843),A | |||
| 37232 | RET | Return. | ||
| Prev: 37176 | Up: Map | Next: 37233 |