Go back to : Skydrift research homepage
If the new dash power is higher than the current boost power :
1.mBoostFrame) is replaced by the new one (dashframe).If the player ground type is NoJump, the upper power is set to 0.
Then, if the upper power is strictly superior to 0 :
10.60.mIsGround & mIsFakeGround are set to false).Note : the current boost power is used every frame while the boost timer is not expired. This means that if the player switches from airbone to grounded (or the other way around), the topspeed will change accordingly. So for example, using a Fan in the air with Suika and landing with 20 frames remaining will change the air fan into a ground fan.
// From class Tank
public void dash(float dashpower, float upperpower = 0f, int dashframe = 120)
{
if (dashpower > this.mBoostRatio)
{
this.mBoostRatio = dashpower;
this.mBoostFrame = dashframe;
}
if (this.mGroundType == EGroundType.NoJump)
{
upperpower = 0f;
}
if (upperpower > 0f)
{
this.mVelocity.y = this.mVelocity.y + 10f;
this.mJumpFrame = 60;
// Note : this is an older version ↓
// this.mIsGround = (this.mIsFakeGround = false);
// But current version looks better to me
// Though I did not test, the result might be the same
this.mIsGround = this.mIsFakeGround = false;
}
if (this.mCamera)
{
this.mCamera.invokeBlur(dashpower - 1f);
}
}
| Dash source | Dash power | Upper power | Dash frames |
|---|---|---|---|
| Start boost (holding accelerate strictly more than 80 frames or not accelerating) |
1f |
0f |
15 |
| Elixir (Special State Kokushi) |
1.1f |
0f |
3 |
| Start boost (holding accelerate between 1 and 80 frames (included)) |
1.1f |
0f |
15 |
| Yellow rings (with Koishi's Last Word HeartBreak) |
1.1f |
0f |
15 |
| Suwako Last Word on herself (Special State MyRain) |
1.15f |
0f |
3 |
| Suika Last Word (Special State PurplePower) |
1.2f |
0f |
3 |
| Udonge Last Word (Special State KokushiEx) |
1.2f |
0f |
3 |
| Switching rider | 1.2f |
0f |
10 |
| Start boost (holding accelerate between 21 and 30 frames (included)) |
1.2f |
0f |
15 |
| Yellow rings (without Koishi Last Word HeartBreak) |
1.2f |
0f |
15 |
| Red rings | 1.2f |
0f |
60 |
| Start boost (holding accelerate between 31 and 40 frames (included)) |
1.3f |
0f |
15 |
| Cradle | 1.3f |
20f |
30 |
| Start boost (holding accelerate between 41 and 50 frames (included)) |
1.35f |
0f |
15 |
Orin Last Word CatWalk |
1.4f |
20f |
30 |
| Fan | 1.4f |
0f |
70 |
| Reverie | 1.42f |
20f |
100 |
Note 1 : Special States are reapplied every frame while not over, so their dash frames are deceptive.
Note 2 : For some reason, Suika & Udonge Last Word special states (PurplePower & KokushiEX) have a weird condition activations according to the decompilers.
It might just be some decompilation error.
Anyway, as a special state should not be another special state, this probably does not change anything.
// From class Tank, method releaseAccelLock
float speedMultiplier = 1f;
if (this.accelFrames <= 50 && this.accelFrames > 40)
speedMultiplier = 1.35f;
else if (this.accelFrames <= 40 && this.accelFrames > 30)
speedMultiplier = 1.3f;
else if (this.accelFrames <= 30 && this.accelFrames > 20)
speedMultiplier = 1.2f;
else if (this.accelFrames <= 80 && this.accelFrames > 0)
speedMultiplier = 1.1f;
this.mVelocity.z += this.cTankThrottleMaxSpeed * 0.9f;
this.dash(speedMultiplier, boostDuration: 15);
// From class Tank, method updateSpecialState, switch on special States
default:
if (espstate != ESPState.PurplePower)
{
if (espstate == ESPState.KokushiEX)
{
this.dash(1.2f, 0f, 3);
}
}
else
{
this.dash(1.2f, 0f, 3);
}
break;
As seen in Dash behaviour section, it is possible to prevent dashes using upper power to send the player in the air.
This can be done by using those dashes with the NoJump ground type.
(Note : a player ground type is based on the last ground the gravity ray touched, see Ringbounce study for more details)
All NoJump areas in vabilla game can be found in the dedicated list.