![]() |
Routines |
| Prev: 38054 | Up: Map | Next: 38165 |
|
Used by the routine at 38054.
|
||||||||
| 38074 | BIT 3,(IX+9) | If Bubo's harmless flag is set... | ||||||
| 38078 | JR NZ,38101 | ...then skip ahead to 38101 | ||||||
| 38080 | LD A,(34220) | If Berk's current power is not immunity to Bubo (level 2)... | ||||||
| 38083 | CP 9 | ... | ||||||
| 38085 | JR NZ,38093 | ...then skip ahead to 38093 | ||||||
| 38087 | SET 3,(IX+9) | Set Bubo's harmless flag | ||||||
| 38091 | JR 38101 | Skip ahead to 38101 | ||||||
| 38093 | CALL 54768 | Check entity at IX for collision with another entity at same depth whose interaction-(11,6) flag is set... | ||||||
| 38096 | CP 31 | ...and if collision was with entity of class 31 (Berk)... | ||||||
| 38098 | CALL Z,53667 | ...then set Berk-has-been-killed flag | ||||||
| 38101 | LD IY,44214 | Load IY with address of complex state data for Bubo's projectile (level 2) | ||||||
| 38105 | BIT 0,(IX+9) | If Bubo's must-process-current-script-data flag is set (Bubo firing)... | ||||||
| 38109 | JP NZ,48096 | ...then jump to 48096 (advance HL to next script instruction and execute) | ||||||
| 38112 | BIT 1,(IY+9) | If projectile's fired flag is set... | ||||||
| 38116 | JP NZ,48096 | ...then jump to 48096 (advance HL to next script instruction and execute) | ||||||
| 38119 | BIT 5,(IX+10) | If Bubo is not being carried... | ||||||
| 38123 | JR Z,38132 | ...then skip ahead to 38132 | ||||||
| 38125 | SET 2,(IX+9) | Set Bubo's waiting-to-fire flag | ||||||
| 38129 | JP 48096 | Advance HL to next script instruction and execute | ||||||
|
The code block below is only entered if Bubo's must-process-current-script-data flag is reset (i.e. he is not firing), the projectile's fired flag is reset and Bubo is not being carried.
|
||||||||
| 38132 | LD A,(IX+1) | If Bubo has a depth of 2... | ||||||
| 38135 | CP 2 | ... | ||||||
| 38137 | JP Z,48096 | ...then jump to 48096 (advance HL to next script instruction and execute) | ||||||
| 38140 | BIT 2,(IX+9) | If Bubo's waiting-to-fire flag is set, i.e. he has just been dropped... | ||||||
| 38144 | JR NZ,38155 | ...then skip ahead to 38155 (make Bubo fire) | ||||||
| 38146 | LD A,60 | Load A with a random number, 0-59... | ||||||
| 38148 | CALL 54222 | ... | ||||||
| 38151 | OR A | ...and if this is not zero (59 in 60 chance)... | ||||||
| 38152 | JP NZ,48096 | ...then jump to 48096 (advance HL to next script instruction and execute) | ||||||
| 38155 | RES 2,(IX+9) | Reset Bubo's waiting-to-fire flag | ||||||
| 38159 | LD HL,38032 | Point HL at script data for Bubo firing... | ||||||
| 38162 | JP 48098 | ...and execute | ||||||
| Prev: 38054 | Up: Map | Next: 38165 |