Prev: DB9B Up: Map Next: DBED
DBB8: Picked up food
Each item of food scores (ID + 1) * 5 points
Input
Pointer to current room data
DBB8 LD E,(IX+$05) Put the X co-ordinate in E.
DBBB LD D,(IX+$06) Put the Y co-ordinate in D.
DBBE RES 3,(IX+$04) Reset the "food in room" flag.
DBC2 LD A,(IX+$04) Get bits 0-2 of the room flags, which contain the food index.
DBC5 AND $07
DBC7 PUSH AF Store A with the food ID.
DBC8 CALL $DCE8 Convert this to a graphic address in HL.
DBCB LD B,(HL) Put the actual address referenced in BC.
DBCC INC HL
DBCD LD C,(HL)
DBCE CALL $E897 Remove the food from screen.
DBD1 POP AF Restore A.
Now add points based on the type of food.
DBD2 INC A Increment by 1, then multiply by 5 to get the score to add.
DBD3 LD B,A
DBD4 ADD A,A
DBD5 ADD A,A
DBD6 ADD A,B
DBD7 LD HL,$C86B Point HL at the score to add. (C86B)
DBDA ADD A,(HL) Add on this score.
DBDB LD (HL),A
DBDC LD HL,$EE46 Play the "picked up the food" tune.
DBDF CALL $DB0B
DBE2 LD A,$08 Restore the energy (C86D) to 8.
DBE4 LD ($C86D),A
DBE7 LD A,$C8 Reset the tick count before energy is decreased (C86F) to the maximum of C8.
DBE9 LD ($C86F),A
DBEC RET Return.
Prev: DB9B Up: Map Next: DBED