KSS:Battle Windows: Difference between revisions

From Kirby Speedrunning Wiki
Jump to navigationJump to search
No edit summary
Line 27: Line 27:


==Attacks==
==Attacks==
Attack choice advances one RNG number.
Every Battle Windows enemy has two attack pools to choose from, which is based on if RAM value 179C is an even or odd number. This number changes between 0 and 1 after each time Battle Windows attacks, first starting on 0.
*This RAM value will not change if Battle Windows attacks first.
*This RAM value seems to change, but freezing this value does not seem to alter the attack pool. More research is required.
Slime Attacks:


==Attack Messages==
==Attack Messages==

Revision as of 04:03, 17 June 2023


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 choice advances one RNG number.

Every Battle Windows enemy has two attack pools to choose from, which is based on if RAM value 179C is an even or odd number. This number changes between 0 and 1 after each time Battle Windows attacks, first starting on 0.

  • This RAM value will not change if Battle Windows attacks first.
  • This RAM value seems to change, but freezing this value does not seem to alter the attack pool. More research is required.

Slime 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

Flowchart depicting how Battle Windows uses RNG.

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...