Routines |
Prev: 34211 | Up: Map | Next: 34256 |
Used by the routine at 34202.
|
||||||||||||||
34224 | PUSH AF | Store AF (A = character's current strength) | ||||||||||||
34225 | LD BC,1280 | Load B with 5 (as five inventory slots to check) and C (total weight carried) with zero | ||||||||||||
34228 | LD A,(IX+0) | Load object in current inventory slot | ||||||||||||
34231 | OR A | If no object present... | ||||||||||||
34232 | JR Z,34243 | ...skip ahead to 34243... | ||||||||||||
34234 | CALL 34126 | Load A with weight of object A | ||||||||||||
34237 | ADD A,C | Add C to this... | ||||||||||||
34238 | LD C,A | ...and load result into C (total weight so far) | ||||||||||||
34239 | INC IX | Advance to next inventory slot | ||||||||||||
34241 | DJNZ 34228 | Loop back for next inventory slot | ||||||||||||
34243 | POP AF | Restore AF (A = character's current strength) | ||||||||||||
34244 | AND 127 | Ensure that strength is capped at 127 and that sign flag is reset (in reality, Magic Knight's strength can only go as high as 96) | ||||||||||||
34246 | SUB C | Subtract total weight of character's carried objects from his/her strength to get "surplus" strength... | ||||||||||||
34247 | LD C,A | ...and load into C | ||||||||||||
34248 | LD A,(30467) | Load A with index of Current Object (e.g. object character is trying to receive) | ||||||||||||
34251 | CALL 34126 | Load A with weight of object A | ||||||||||||
34254 | CP C | Set sign flag if surplus strength exceeds weight of object, otherwise reset | ||||||||||||
34255 | RET | Return |
Prev: 34211 | Up: Map | Next: 34256 |