Routines |
Prev: 53145 | Up: Map | Next: 53323 |
Used by the routine at 53145.
|
||||
Follows the previous routine when a warlock is destroyed, or an object has been successfully traded.
The disintegration/materialization animation that followed either of these events is complete and the warlock will now drop the object it is carrying.
|
||||
53273 | LD A,0 | |||
53275 | LD (60111),A | Set the draw/erase flag to 0 (ERASE) | ||
53278 | CALL 58365 | Reset screen attribute colours for warlock | ||
53281 | LD A,4 | |||
53283 | LD (60227),A | Set the (new) object type to 4 = interactable object | ||
53286 | LD B,0 | The CALL in a few instruction to 56908 uses either the B register (room number) or C register (object number), whichever is <>0 We want to use the C register, so set B register to zero |
||
53288 | LD A,(60230) | Get object number | ||
53291 | LD C,A | Store in C register | ||
53292 | LD HL,(56051) | Address pointer to the room object data sets in table at 29551 | ||
53295 | LD A,0 | |||
53297 | LD (60292),A | Set the counter for the room object tables to 0 | ||
53300 | CALL 56908 | Identify object, and copy its data into the object data set buffer at 60293 | ||
53303 | LD HL,(60290) | Get address pointer to item's data set in table at 29551 | ||
53306 | LD (60228),HL | ...store in item data buffer | ||
53309 | LD A,(60296) | Get item properties byte | ||
53312 | OR %01001101 | Set bits:
|
||
53314 | LD (60238),A | Store as item properties byte | ||
53317 | CALL 56028 | Fetch object state and prepare graphics for printing | ||
53320 | JP 53885 |
Prev: 53145 | Up: Map | Next: 53323 |