![]() |
Routines |
| Prev: 28807 | Up: Map | Next: 28829 |
|
Used by the routine at ObjectPlacement_SpecialTerrain.
|
||||||||||||
| ContextualRandomNumber | 28808 | CALL GetRandomNumber | E=random number between 0-255. | |||||||||
| 28811 | LD E,A | |||||||||||
| 28812 | LD A,H | Get the seed number. | ||||||||||
| CheckSeedNumber | 28813 | CP 159 | Jump to ReturnFullValue if the seed number in H is lower than 159. | |||||||||
| 28815 | JR C,ReturnFullValue | |||||||||||
| 28817 | JR Z,ReturnBoolean | Jump to ReturnBoolean if the seed number in H is equal to 159. | ||||||||||
|
Else, subtract 5 and loop back to try again.
|
||||||||||||
| 28819 | SUB 5 | Subtract 5 from the seed number. | ||||||||||
| 28821 | JR CheckSeedNumber | Jump back to CheckSeedNumber. | ||||||||||
|
Return either 0 or 1 using bit 0 of the random number.
|
||||||||||||
| ReturnBoolean | 28823 | LD A,E | A=bit 0 of the random number stored in E (ensure it is either 0 or 1). | |||||||||
| 28824 | AND %00000001 | |||||||||||
| 28826 | RET | Return. | ||||||||||
|
Just return the full random number between 0-255.
|
||||||||||||
| ReturnFullValue | 28827 | LD A,E | A=the random number stored in E. | |||||||||
| 28828 | RET | Return. | ||||||||||
| Prev: 28807 | Up: Map | Next: 28829 |