Routines |
Prev: 31804 | Up: Map | Next: 31904 |
Used by the routine at 31636.
|
||||
31842 | CALL 34350 | Check if Current Character is asleep and display "[CHARACTER] IS ASLEEP" window if so | ||
31845 | LD A,32 | Set last character of "[CHARACTER] CANNOT HELP YOU..." text to a space (32)... | ||
31847 | LD (46710),A | ... | ||
31850 | LD A,(30615) | Load A with index of Current Character | ||
31853 | CP 7 | If character is 7 (Banshee)... | ||
31855 | JR Z,31888 | ...jump ahead to 31888 (overriding following section, as Banshee always has zero strength) | ||
31857 | LD E,0 | Point HL at strength... | ||
31859 | CALL 34174 | ...of character whose index is A | ||
31862 | PUSH HL | Switch pointer from HL to IX... | ||
31863 | POP IX | ... | ||
31865 | LD A,(IX+5) | Load A with character's can-help flag | ||
31868 | OR A | If can-help flag is reset... | ||
31869 | JP Z,34514 | ...then display "[CHARACTER] CANNOT HELP YOU" window and return to game | ||
31872 | LD A,(IX+2) | Load A with stamina of Current Character... | ||
31875 | CP 10 | ...and if this is anything up to 20... | ||
31877 | JP C,34520 | ...then display "[CHARACTER] IS TOO TIRED TO HELP YOU" window and exit | ||
31880 | LD A,(IX+1) | Load A with the happiness of Current Character... | ||
31883 | CP 10 | ...and if this is anything up to 10... | ||
31885 | JP C,34490 | ...then display "[CHARACTER] DOES NOT WANT TO BE COMMANDED BY YOU" window and exit | ||
31888 | LD A,(30615) | Load DE with double the index of the Current Character... | ||
31891 | ADD A,A | ... | ||
31892 | LD E,A | ... | ||
31893 | LD D,0 | ... | ||
31895 | LD HL,31904 | Point HL at table of help routine addresses | ||
31898 | ADD HL,DE | ...and add double the character index to get specific entry for that character | ||
31899 | LD A,(HL) | Load the routine's address into HL... | ||
31900 | INC HL | ... | ||
31901 | LD H,(HL) | ... | ||
31902 | LD L,A | ... | ||
31903 | JP (HL) | ...and jump to it |
Prev: 31804 | Up: Map | Next: 31904 |