Random Number Generation
Turn Order
During the first turn of each Battle Windows enemy, there is a 25% chance for Battle Windows to attack first. This is a notorious point of chance in the run where time can be lost if Battle Windows gets the first attack.
When Battle Windows attacks first, time loss can vary depending on the attack that is done. The worst possible luck is having an enemy shield on their first turn, which requires a whole additional turn to defeat it.
In specific circumstances, it is actually beneficial to have Battle Windows to attack first, but this is typically only done in TAS. An example of this is using Suplex while fighting Red Dragon. By having Red Dragon attack first, Kirby can grab its scratch attack and defeat it in one turn.
Procedure
Calculating the outcome for first turn attack uses one RNG number.
Slime and Magician:
- 64 < RNG < 127: Battle Windows attacks first
- Else: Kirby attacks first
Puppet and Dark Knight:
- 128 < RNG < 191: Battle Windows attacks first
- Else: Kirby attacks first
Red Dragon:
- 192 < RNG < 255: Battle Windows attacks first
- Else: Kirby attacks first
Attacks
Attack Messages
Ability Appearance
When it is Kirby's turn to attack, abilities have a chance of appearing on each side of the screen. Several random numbers are used during this process. This calculation is different from power calculation in The Arena rest area.
Procedure
If an ability does not appear, RNG advances by 1, while if an ability does appear, RNG advances by 3. RNG can advance at least 2 times or at most 6 times when calculating powers (unless under a specific circumstance, see notes below).
- 1.) Determine if a power will appear on the right side:
- 64 < RNG < 127: Power appears
- Else: Does not appear (Skip steps 2 and 3)
- 2.) Determine which pool to choose from:
- 0 < RNG < 63: Pool 1 (Sprite number 90)
- 64 < RNG < 127: Pool 2 (Sprite number 91)
- 128 < RNG < 191: Pool 1 (Sprite number 90)
- 192 < RNG < 255: Pool 2 (Sprite number 91)
- 3.) Choose a power from the pool chosen:
RNG | Ability Pool 1 | Ability Pool 2 |
---|---|---|
0 - 21 | Fighter | Stone |
22 - 42 | Plasma | Cutter |
43 - 63 | Hammer | Wheel |
64 - 85 | Beam | Jet |
86 - 106 | Bomb | Ice |
107 - 127 | Sword | Parasol |
128 - 148 | Hammer | Fire |
149 - 170 | Bomb | Suplex |
171 - 191 | Plasma | Ninja |
192 - 213 | Sword | Yo-yo |
214 - 233 | Beam | Mirror |
234 - 255 | Fighter | Wing |
- 4.) Determine if a power will appear on the left side:
- 128 < RNG < 191: Power appears
- Else: Does not appear (Skip steps 5 and 6)
- 5.) Same as step 2
- 6.) Same as step 3
Notes:
- If no abilities appear for 3 consecutive turns, abilities will appear from both sides on the next turn (steps 1 and 4 are skipped). This is tracked in the game's memory.
- In the rare circumstance that abilities appear on both sides, and both sides contain the same ability, step 4 will be repeated again after step 6. This will continue to repeat until either both abilities are different, or the left side ability does not appear.
RAM Values
All currently known RAM values associated with Battle Windows.
Domain | Address | Description | Procedure | Function |
---|---|---|---|---|
CARTRAM | 1790 | Idle Timer | Starts at 104, then loops to 255 for a total of 360 frames. Counts down once every frame. | Kirby's turn is up when this value reaches 0. |
CARTRAM | 1791 | Attack state? | Changes based on Battle Windows attack. Needs more research. | |
CARTRAM | 179C | Even or Odd Turn | Value switches between 0 and 1 after each turn. | Alters which attacks are used in each RNG range. However, freezing this value doesn't seem to do anything. More research required. |
CARTRAM | 1838 | Timer (after attack) | Value stays at 255 until Kirby attacks Battle Windows at least once. After first Battle Windows hit, counts down from 90 once every frame. | Kirby's turn is up when this value reaches 0. |
CARTRAM | 1888 | Timer for text scroll | Needs more research | |
More to come... |