![]() |
Routines |
| Prev: 54996 | Up: Map | Next: 55218 |
|
Used by the routine at 54996.
|
||||
| 55077 | LD DE,8 | Load DE with 8 (as data is 8 bytes long) | ||
| 55080 | LD HL,55490 | Point HL at Gimbal's stat regeneration data | ||
| 55083 | LD IX,25323 | Point IX to Gimbal's current stats | ||
| 55087 | LD B,7 | Load B with 7 (as there are 7 characters to which this routine applies - Banshee is excluded) | ||
| 55089 | LD A,(23468) | If Gimbal-is-free flag is set... | ||
| 55092 | AND 1 | ... | ||
| 55094 | JR NZ,55104 | ...then jump ahead to 55104 | ||
| 55096 | LD HL,55498 | Else point HL at Thor's stat regeneration data | ||
| 55099 | LD IX,25331 | Point IX to Thor's current stats | ||
| 55103 | DEC B | Decrease B to 6 as, since Gimbal is not free, he is not included in this routine's function | ||
| 55104 | BIT 7,(IX+6) | If current character is awake... | ||
| 55108 | JR Z,55114 | ...then skip ahead to 55114 | ||
| 55110 | INC HL | Advance HL by four bytes to stat deterioration data... | ||
| 55111 | INC HL | ... | ||
| 55112 | INC HL | ... | ||
| 55113 | INC HL | ... | ||
| 55114 | LD C,(HL) | Load stat change value into C | ||
| 55115 | LD A,(IX+0) | Load current character's strength into A | ||
| 55118 | CALL 55219 | Update character's strength as they tire (awake) or regenerate (asleep)... | ||
| 55121 | LD (IX+0),A | ... | ||
| 55124 | INC HL | Advance HL to next (happiness) data | ||
| 55125 | LD C,(HL) | Load stat change value into C | ||
| 55126 | LD A,(IX+1) | Load current character's happiness into A | ||
| 55129 | CALL 55219 | Update character's happiness as they tire (awake) or regenerate (asleep)... | ||
| 55132 | LD (IX+1),A | ... | ||
| 55135 | INC HL | Advance HL to next (stamina) data | ||
| 55136 | LD C,(HL) | Load stat change value into C | ||
| 55137 | LD A,(IX+2) | Load current character's stamina into A | ||
| 55140 | CALL 55219 | Update character's stamina as they tire (awake) or regenerate (asleep)... | ||
| 55143 | LD (IX+2),A | ... | ||
| 55146 | INC HL | Advance HL to next (spell power) data | ||
| 55147 | LD C,(HL) | Load stat change value into C | ||
| 55148 | LD A,(IX+3) | Load current character's spell power into A | ||
| 55151 | CALL 55219 | Update character's spell power as they tire (awake) or regenerate (asleep)... | ||
| 55154 | LD (IX+3),A | ... | ||
| 55157 | INC HL | Advance HL to next block of data | ||
| 55158 | BIT 7,(IX+6) | If current character is asleep... | ||
| 55162 | JR NZ,55168 | ...then we have already moved into data for next character, so skip ahead to 55168 | ||
| 55164 | INC HL | Else, we are now in same character's "asleep" data, so need to advance HL by four bytes to get to next character's data... | ||
| 55165 | INC HL | ... | ||
| 55166 | INC HL | ... | ||
| 55167 | INC HL | ... | ||
| 55168 | ADD IX,DE | Advance IX by eight bytes to next character's stats | ||
| 55170 | DJNZ 55104 | Loop back to 55104 | ||
| 55172 | LD DE,8 | Load DE with 8 | ||
| 55175 | LD IX,25323 | Point IX to Gimbal's current stats | ||
| 55179 | LD B,7 | Load B with 7 (as there are 7 characters to which this routine applies - Banshee is excluded) | ||
| 55181 | LD C,0 | Load C with zero (to denote first character, Gimbal) | ||
| 55183 | LD A,(IX+2) | Load current character's stamina into A | ||
| 55186 | OR A | If stamina is not zero... | ||
| 55187 | JP NZ,55196 | ...then skip ahead to 55196 | ||
| 55190 | SET 7,(IX+6) | Else send character to sleep | ||
| 55194 | JR 55205 | Skip ahead to 55205 | ||
| 55196 | CP 100 | If stamina is not 100... | ||
| 55198 | JP NZ,55205 | ...then skip ahead to 55205 | ||
| 55201 | RES 7,(IX+6) | Else wake character up | ||
| 55205 | LD A,(IX+0) | Load character's strength into A | ||
| 55208 | OR A | If strength is zero... | ||
| 55209 | JP Z,55461 | ...then the character has starved to death, so jump to 55461 | ||
| 55212 | ADD IX,DE | Advance IX to next character's stats | ||
| 55214 | INC C | Increase C for next character | ||
| 55215 | DJNZ 55183 | Loop back to 55183 for next character | ||
| 55217 | RET | Return | ||
| Prev: 54996 | Up: Map | Next: 55218 |