<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mkwtas.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Citrinitas</id>
	<title>MKWii TAS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mkwtas.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Citrinitas"/>
	<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/wiki/Special:Contributions/Citrinitas"/>
	<updated>2026-06-17T07:59:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.mkwtas.com/index.php?title=Miniturbo&amp;diff=1242</id>
		<title>Miniturbo</title>
		<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/index.php?title=Miniturbo&amp;diff=1242"/>
		<updated>2025-10-20T21:59:13Z</updated>

		<summary type="html">&lt;p&gt;Citrinitas: TO DO -&amp;gt; TODO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;miniturbo&#039;&#039;&#039;, or &#039;&#039;&#039;mini-turbo&#039;&#039;&#039; is a speed boost technique present in every Mario Kart game.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
When performing a drift, assuming you are using manual transmission, a miniturbo will charge up after a certain period of time, and when you release the drift, you will get a boost from this miniturbo. Miniturbos charge at different rates depending on the joystick direction held during the drift. Although the GCN joystick has an input range from 0 to 255 on both axes, all inputs are simplified and reduced down to an input range from 0 to 14 on both axes. These are also referred to as -7 to +7 to ease understanding even more. Miniturbo charge is a numerical value that counts upwards from 0. If you are performing a right drift, any input from -7 to +2 will increase that value an increment of 2 every frame, and any input from +3 to +7 will increase that value an increment of 5 every frame. Conversely, if you are performing a left drift, any input from +7 to -2 will increase that value an increment of 2 every frame, and any input from -3 to -7 will increase that value an increment of 5 every frame.&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
There are three types of miniturbos in [[Mario Kart Wii]]:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TODO: Boost lengths and corresponding images for each type.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Standard Miniturbo ===&lt;br /&gt;
This is the most common type of miniturbo. It is charged when miniturbo charge counter becomes greater than 270, and is possible on both bikes and karts. Upon reaching at least 150 charge, individual blue sparks begin appearing at the back of the vehicle the next frame.&lt;br /&gt;
&lt;br /&gt;
=== Super Miniturbo ===&lt;br /&gt;
This miniturbo is only possible on karts. Beginning on the same frame that the standard miniturbo is fully charged, a new super miniturbo counter begins counting from 0 up to 300. It is charged when the super miniturbo counter becomes greater than 300, and individual orange sparks appear the frame after the charge counter reaches at least 180. The player may be tempted to release the miniturbo after a standard miniturbo is charged, but should they continue to hold the drift for slightly longer until the orange sparks will appear, they can instead release a super miniturbo.&lt;br /&gt;
&lt;br /&gt;
=== Standstill Miniturbo ===&lt;br /&gt;
This miniturbo can be begin to be charged by holding accelerate and brake (A and B) simultaneously when[[Internal velocity | IV]] is between -10 and 10. This increments a standstill miniturbo charge counter by 1 per frame until it becomes greater than 75, after which the standstill miniturbo can be released.&lt;br /&gt;
&lt;br /&gt;
== Softdrift ==&lt;br /&gt;
&lt;br /&gt;
== Luke&#039;s Rule ==&lt;br /&gt;
Reference Campbell&#039;s sheet here&lt;br /&gt;
&lt;br /&gt;
== Relevant code ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// TODO: context, comments&lt;br /&gt;
// NOTE: This has not been confirmed to match yet, but is at least functionally equivalent&lt;br /&gt;
void Kart::KartMove::calcMtCharge() {&lt;br /&gt;
    if (mDriftState &amp;gt;= 3) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    KartState *state = mAccessor-&amp;gt;getState();&lt;br /&gt;
    if (state-&amp;gt;mFlags &amp;amp; ONLINE_REMOTE) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    addMtCharge(1, mMtCharge, BASE_MT_CHARGE, MAX_MT_CHARGE);&lt;br /&gt;
    addMtCharge(2, mSmtCharge, BASE_SMT_CHARGE, MAX_SMT_CHARGE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool Kart::KartMove::addMtCharge(s32 driftState, s16 &amp;amp;mtCharge, s16 baseMtCharge, s16 maxMtCharge) {&lt;br /&gt;
    bool charged = false;&lt;br /&gt;
    if (mDriftState == driftState) {&lt;br /&gt;
        mtCharge += baseMtCharge;&lt;br /&gt;
        addExtraMtCharge(mtCharge, EXTRA_MT_CHARGE, NO_EXTRA_MT_CHARGE, BONUS_CHARGE_STICK_THRESHOLD);&lt;br /&gt;
        if (checkMtCharge(mtCharge, maxMtCharge)) {&lt;br /&gt;
            charged = true;&lt;br /&gt;
            ++mDriftState;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return charged;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Kart::KartMove::addExtraMtCharge(s16 &amp;amp;mtCharge, s16 left, s16 right, f32 bonusStickChargeThreshold) const {&lt;br /&gt;
    s16 leftTurningBonus = left;&lt;br /&gt;
    s16 rightTurningBonus = right;&lt;br /&gt;
    if (mHopStickX == -1) {&lt;br /&gt;
        leftTurningBonus = right;&lt;br /&gt;
        rightTurningBonus = left;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    f32 stickX = mAccessor-&amp;gt;getState()-&amp;gt;getStickX();&lt;br /&gt;
    if (stickX &amp;lt; -bonusStickChargeThreshold) {&lt;br /&gt;
        mtCharge += leftTurningBonus;&lt;br /&gt;
    } else if (stickX &amp;gt; bonusStickChargeThreshold) {&lt;br /&gt;
        mtCharge += rightTurningBonus;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// This function is never seen anywhere in the binary&lt;br /&gt;
// However, it&#039;s heavily speculated to exist due to the assembly instructions&lt;br /&gt;
inline bool Kart::KartMove::checkMtCharge(s16 &amp;amp;mtCharge, s16 maxMtCharge) {&lt;br /&gt;
    if (maxMtCharge &amp;lt; mtCharge) {&lt;br /&gt;
        mtCharge = maxMtCharge;&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
    return false;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Citrinitas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mkwtas.com/index.php?title=External_velocity&amp;diff=1241</id>
		<title>External velocity</title>
		<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/index.php?title=External_velocity&amp;diff=1241"/>
		<updated>2025-10-20T21:56:17Z</updated>

		<summary type="html">&lt;p&gt;Citrinitas: Major and important edit.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;External velocity&#039;&#039;&#039;, or &#039;&#039;&#039;EV&#039;&#039;&#039;, is one of four main types of [[velocity]] in &#039;&#039;[[Mario Kart Wii]]&#039;&#039;. It collectively refers to the effect of many forces other than the vehicle&#039;s engine, such as gravity, momentum from kart bumps and wall collisions, and leaning. Using physics exploits, EV can be used to maintain high speeds for prolonged periods of time.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
EV is represented as a vector, with a direction and magnitude. The direction of EV is always (nearly) perpendicular to the vehicle&#039;s facing direction at any given moment; if there is a EV vector component parallel to the facing direction, the games tends to convert it to IV. Gravity EV is an exception; it is always purely directed in the (negative) Y direction, no matter the vehicle&#039;s pitch rotation, but it can still be converted to IV on the ground.&lt;br /&gt;
&lt;br /&gt;
The magnitude of the EV vector is, notably, uncapped. While [[internal velocity]] is capped at 120 u/f, and the sum of IV, EV, and moving road speed is also capped at 120 u/f, it is possible to accumulate EV in the thousands. It is worth noting that a vehicle with 1000 EV still moves at 120 u/f; however, the high amount of EV allows it to maintain its speed for a very long time.&lt;br /&gt;
&lt;br /&gt;
EV naturally decays exponentially at a rate of 0.2% per frame at all times. This limits the amount of EV that can be accumulated in most circumstances. Additionally, if one or more of the vehicle&#039;s wheel hitboxes are making contact with the ground, a constant rate of ~6-10 EV per frame is applied. This rate is independent for each wheel and each bike, and this behavior isn&#039;t well understood at the moment. The wheel decay does not apply if the wheels do not properly make contact with the ground, such as when the bike is airborne, or in a low traction state such as [[supersliding]].&lt;br /&gt;
&lt;br /&gt;
== EV sources ==&lt;br /&gt;
&lt;br /&gt;
=== Leaning ===&lt;br /&gt;
&#039;&#039;&#039;Leaning&#039;&#039;&#039; is a major mechanic for both [[IDB | inside-drift]] and [[ODB | outside-drift]] bikes. Karts lack the ability to lean whatsoever.&lt;br /&gt;
&lt;br /&gt;
Leaning is tracked through a &#039;&#039;&#039;lean rotation&#039;&#039;&#039; value (not to be confused with roll rotation). Inputs from +2 to +7 increment this counter by an amount known as the &#039;&#039;&#039;lean rate&#039;&#039;&#039;, which is a function of the bike&#039;s drift type and state. Inputs from -2 to -7 decrement the counter by the lean rate. This can be thought of more simply as leaning to the right or left, respectively. Inputs of 0 and ±1 are known as &#039;&#039;&#039;neutral inputs&#039;&#039;&#039;, and decrease the lean rotation exponentially by a rate of 10% per frame. For airborne bikes, leaning is disabled after 20 frames. [[Barrel roll | Soft walls]] also disable leaning while the HWG timer is non-zero.&lt;br /&gt;
&lt;br /&gt;
The lean rotation is bounded both left and right by the &#039;&#039;&#039;lean cap&#039;&#039;&#039; value, which varies with the lean rate. On each frame, if the lean rotation increases and does not become (strictly) greater than the lean cap, the bike gains EV directed to the right. Vice versa, if lean decreases and does not become (strictly) less than the lean cap, the bike gains EV to the left. The EV gained per frame by leaning is 1.0 u/f^2 for IDBs, and 0.8 u/f^2 for ODBs.&lt;br /&gt;
&lt;br /&gt;
The following table lists all possible values for the lean rate and lean cap values, depending on the bike&#039;s drift type and state.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;text-align:center;&amp;quot; &lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Inside-drift bikes&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Outside-drift bikes&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
! IV &amp;lt; 5 u/f&lt;br /&gt;
! IV &amp;gt; 5 u/f&lt;br /&gt;
! SSMT&lt;br /&gt;
! Drifting&lt;br /&gt;
! IV &amp;lt; 5 u/f&lt;br /&gt;
! IV &amp;gt; 5 u/f&lt;br /&gt;
! SSMT&lt;br /&gt;
! Drifting&lt;br /&gt;
|-&lt;br /&gt;
! Lean rate&lt;br /&gt;
| 0.08 || 0.1 || 0.15 || 0.05 || 0.08 || 0.08 || 0.15 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
! Lean cap&lt;br /&gt;
| 0.6 || 1.0 || 1.3 || 0.7 - 1.5 || 0.6 || 1.0 || 1.6 || 0.8 - 1.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Optimal efficiency for leaning involves approaching the lean cap quickly, then alternating between neutral and leaning inputs in a pattern, staying just below the lean cap. This is because lean rotation decays more quickly at higher values.&lt;br /&gt;
&lt;br /&gt;
Drifting directly sets the lean rotation value, so drifting for one frame to set lean rotation to a high magnitude in the opposite sign is an effective way to gain more leaning frames. This is occasionally referred to as drift resetting. This trick is commonly used to optimize [[superhopping]] and [[Supersliding#Autosliding | autosliding]]. &lt;br /&gt;
&lt;br /&gt;
The theoretical optimal leaning patterns for each combination of lean rate and lean cap are contained in the table below. Note that 0 represents any &#039;&#039;neutral&#039;&#039; input, and 7 represents any &#039;&#039;leaning&#039;&#039; input. Inputs in brackets should be looped as many times as indicated before continuing with the pattern.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;text-align:center;&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Drift type&lt;br /&gt;
! IV &amp;lt; 5 u/f&lt;br /&gt;
! IV &amp;gt; 5 u/f&lt;br /&gt;
! SSMT&lt;br /&gt;
! Drifting&lt;br /&gt;
|-&lt;br /&gt;
! IDB&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | (0 0 7 0 7) * 3 &amp;lt;br&amp;gt; 0 7&lt;br /&gt;
| 0 7&lt;br /&gt;
| 0 (0 7) * 4 &amp;lt;br&amp;gt; 0 (0 7) * 5&lt;br /&gt;
| 0 7 7 7&lt;br /&gt;
|-&lt;br /&gt;
! ODB&lt;br /&gt;
| (0 7) * 5 &amp;lt;br&amp;gt; 7&lt;br /&gt;
| 0 7&lt;br /&gt;
| (0 7) * 7 &amp;lt;br&amp;gt; 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Gravity ===&lt;br /&gt;
Gravity applies a constant acceleration of 1.3 u/f^2, directed in the negative Y direction, as long as the vehicle is airborne. As mentioned previously, EV from gravity is never converted to IV as long as the bike remains airborne, no matter its pitch rotation.&lt;br /&gt;
&lt;br /&gt;
After 50 frames of airtime, the pitch rotation of the vehicle affects gravity. The rate of acceleration is constant from 0° to -20° (facing down), increases linearly from -20° to -40°, and reaches its maximum modifier of 20% at -40° and beyond. (Vice versa if facing up.) Therefore, gravity is bounded between [1.04, 1.56] u/f^2.&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
=== TF physics ===&lt;br /&gt;
:&#039;&#039;Main article: [[TF physics]]&#039;&#039;&lt;br /&gt;
TF physics are caused directly by a combination of leaning EV and roll rotation. When a bike gains a large amount of roll rotation, for example by drifting with IDBs, the leaning EV vectors follow the orientation of the bike, and therefore point partially upwards or downwards. For example, in a IDB drift to the right, leaning to the right causes EV to point down, e.g. reducing airtime, while leaning to the left causes EV to point up, e.g. increasing airtime.&lt;br /&gt;
&lt;br /&gt;
=== Spindrifts ===&lt;br /&gt;
:&#039;&#039;Main article: [[Drift#Spindrift]]&#039;&#039;&lt;br /&gt;
Spindrifts are a technique exclusive to bikes, caused by leaning EV. By committing to a drift in any direction, then holding the opposite direction in the air, bikes can generate EV which, upon landing, causes them to drift more sharply in the initial part of the drift compared to holding toward the drift the whole time.&lt;br /&gt;
&lt;br /&gt;
=== Neutral gliding ===&lt;br /&gt;
During any (large) hop or wallclip, alternating between neutral and leaning inputs can be a small optimization, giving a bit more lateral distance. This is caused by the lean rotation value reaching the cap during the airtime, so input alternations (before the 20 frame limit) may generate more EV. This is often useful for superhopping as well.&lt;br /&gt;
&lt;br /&gt;
=== Start slides ===&lt;br /&gt;
Bikes are able to move during the countdown due to leaning EV. Any bike can do a wheelie to rotate sideways, then use the IV &amp;lt; 5 u/f pattern to slide sideways. For longer bikes, double wheelies can cause them to go airborne too, which significantly decreases EV dissipation and allows them to slide much further. In this case, the optimal inputs change for each bike, and are not well understood.&lt;br /&gt;
&lt;br /&gt;
=== Supergrinding ===&lt;br /&gt;
:&#039;&#039;Main article: [[Supergrinding]]&#039;&#039;&lt;br /&gt;
Through the use of [[rapid fire hopping]], the vehicle can get stuck in the ground. In this state, its wheels are not counted as making contact with the ground, and bikes can accumulate EV by leaning. However, much of the EV from supergrinding also comes from gravity and collisions with the terrain, in ways that are not properly understood yet. Karts are also able to gain EV from rapid fire hopping in certain situations, such as on a downhill.&lt;br /&gt;
&lt;br /&gt;
Optimal inputs for supergrinding involve the &amp;quot;IV &amp;gt; 5 u/f&amp;quot; pattern. However, for ODBs, the optimal pattern is not always useful, because two consecutive turning inputs result in a much tighter turning arc, so alternating every frame (like the IDB pattern) is usually preferable.&lt;br /&gt;
&lt;br /&gt;
=== Superhopping ===&lt;br /&gt;
:&#039;&#039;Main article: [[Superhopping]]&#039;&#039;&lt;br /&gt;
Outside-drift bikes can gain EV anywhere by drifting and rotating the IV vector away from the facing direction, then repeatedly spindrifting in the same direction. This causes a positive feedback loop, gaining more EV by leaning than is dissipated from wheel decay and EV to IV conversion. The EV to IV conversion makes superhopping impossible for IDBs.&lt;br /&gt;
&lt;br /&gt;
Superhopping is tough to optimize, as the inputs must be adapted depending on the situation. In general, to gain the most speed when superhopping to the right; start with a ~45° angle between facing direction and IV, -2 angle hop, +1 drift commit, hold -7 to lean, release drift before landing (wheelie optional); hop again with -2 angle hop, +1 drift commit, hold -7 to lean and neutral glide as needed, drift for 1 frame upon landing to drift reset, and repeat.&lt;br /&gt;
&lt;br /&gt;
=== Supersliding ===&lt;br /&gt;
:&#039;&#039;Main article: [[Supersliding]]&#039;&#039;&lt;br /&gt;
Some IDBs and [[Vehicles#Wario Bike | Wario Bike]] are able to drive on the ground on their body hitboxes, instead of their wheels. The EV decay effect only applies to wheels and not body hitboxes, therefore they can simply lean to gain EV after entering this state. Supersliding is not stable for most vehicles, with the exception of Wario Bike. The optimal inputs for supersliding depend on the bike&#039;s state, according to the table above. If it&#039;s possible to initiate a slipdrift, it can be a very efficient way to gain EV in a superslide.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Supersliding#Autosliding | Autosliding]]&#039;&#039;&#039; is a technique exclusive to [[automatic drift]]. It involves holding ±6/±7 inputs to lean and begin an automatic drift (which requires 12 consecutive frames of ±6 or greater), switching to the opposite direction on the last frame to drift in the opposite direction and reset lean rotation, then immediately ending the drift to lean again. Example inputs: +6 for 11 frames, -7 for 1 frame, +5 for 1 frame.&lt;br /&gt;
&lt;br /&gt;
=== Outside drift momentum ===&lt;br /&gt;
:&#039;&#039;Main article: [[Outside drift momentum]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Slope boosting ===&lt;br /&gt;
:&#039;&#039;Main article: [[Slope boosting]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Velocity stacking ===&lt;br /&gt;
:&#039;&#039;Main article: [[Velocity stacking]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== It was called hydro pump or something idr ===&lt;br /&gt;
:&#039;&#039;Main article: [[It was called hydro pump or something idr]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;/div&gt;</summary>
		<author><name>Citrinitas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mkwtas.com/index.php?title=External_velocity&amp;diff=1236</id>
		<title>External velocity</title>
		<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/index.php?title=External_velocity&amp;diff=1236"/>
		<updated>2025-10-20T20:48:33Z</updated>

		<summary type="html">&lt;p&gt;Citrinitas: fix awkward wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;External Velocity&#039;&#039;&#039;, or &#039;&#039;&#039;EV&#039;&#039;&#039;, is one of two main types of speed in &#039;&#039;[[Mario Kart Wii]]&#039;&#039;. It collectively refers to the effect of many forces other than the vehicle&#039;s engine, such as gravity, momentum from kart bumps and wall collisions, and leaning. Using physics exploits, EV can be used to maintain high speeds for prolonged periods of time.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
EV is represented as a vector, with a direction and magnitude. The direction of EV is always (nearly) perpendicular to the vehicle&#039;s facing direction at any given moment; if there is a EV vector component parallel to the facing direction, the games tends to convert it to IV. Gravity EV is an exception; it is always purely directed in the (negative) Y direction, no matter the vehicle&#039;s pitch rotation, but it can still be converted to IV on the ground.&lt;br /&gt;
&lt;br /&gt;
The magnitude of the EV vector is, notably, uncapped. While [[Internal Velocity]] is capped at 120 u/f, and the sum of IV, EV, and moving road speed is also capped at 120 u/f, it is possible to accumulate EV in the thousands. It is worth noting that a vehicle with 1000 EV still moves at 120 u/f; however, the high amount of EV allows it to maintain its speed for a very long time.&lt;br /&gt;
&lt;br /&gt;
EV naturally decays exponentially at a rate of 0.2% per frame at all times. This limits the amount of EV that can be accumulated in most circumstances. Additionally, if one or more of the vehicle&#039;s wheel hitboxes are making contact with the ground, a constant rate of ~6-10 EV per frame is applied. This rate is independent for each wheel and each bike, and this behavior isn&#039;t well understood at the moment. The wheel decay does not apply if the wheels do not properly make contact with the ground, such as when the bike is airborne, or in a low traction state such as [[supersliding]].&lt;br /&gt;
&lt;br /&gt;
== EV sources ==&lt;br /&gt;
&lt;br /&gt;
=== Leaning ===&lt;br /&gt;
&#039;&#039;&#039;Leaning&#039;&#039;&#039; is a major mechanic for both [[IDB | inside-drift]] and [[ODB | outside-drift]] bikes. Karts lack the ability to lean whatsoever.&lt;br /&gt;
&lt;br /&gt;
Leaning is tracked through a &#039;&#039;&#039;lean rotation&#039;&#039;&#039; value (not to be confused with roll rotation). Inputs from +2 to +7 increment this counter by an amount known as the &#039;&#039;&#039;lean rate&#039;&#039;&#039;, which is a function of the bike&#039;s drift type and state. Inputs from -2 to -7 decrement the counter by the lean rate. This can be thought of more simply as leaning to the right or left, respectively. Inputs of 0 and ±1 are known as &#039;&#039;&#039;neutral inputs&#039;&#039;&#039;, and decrease the lean rotation exponentially by a rate of 10% per frame. For airborne bikes, leaning is disabled after 20 frames. [[Barrel roll | Soft walls]] also disable leaning while the HWG timer is non-zero.&lt;br /&gt;
&lt;br /&gt;
The lean rotation is bounded both left and right by the &#039;&#039;&#039;lean cap&#039;&#039;&#039; value, which varies with the lean rate. On each frame, if the lean rotation increases and does not become (strictly) greater than the lean cap, the bike gains EV directed to the right. Vice versa, if lean decreases and does not become (strictly) less than the lean cap, the bike gains EV to the left. The EV gained per frame by leaning is 1.0 u/f^2 for IDBs, and 0.8 u/f^2 for ODBs.&lt;br /&gt;
&lt;br /&gt;
The following table lists all possible values for the lean rate and lean cap values, depending on the bike&#039;s drift type and state.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;text-align:center;&amp;quot; &lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Inside-drift bikes&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Outside-drift bikes&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
! IV &amp;lt; 5 u/f&lt;br /&gt;
! IV &amp;gt; 5 u/f&lt;br /&gt;
! SSMT&lt;br /&gt;
! Drifting&lt;br /&gt;
! IV &amp;lt; 5 u/f&lt;br /&gt;
! IV &amp;gt; 5 u/f&lt;br /&gt;
! SSMT&lt;br /&gt;
! Drifting&lt;br /&gt;
|-&lt;br /&gt;
! Lean rate&lt;br /&gt;
| 0.08 || 0.1 || 0.15 || 0.05 || 0.08 || 0.08 || 0.15 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
! Lean cap&lt;br /&gt;
| 0.6 || 1.0 || 1.3 || 0.7 - 1.5 || 0.6 || 1.0 || 1.6 || 0.8 - 1.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Optimal efficiency for leaning involves approaching the lean cap quickly, then alternating between neutral and leaning inputs in a pattern, staying just below the lean cap. This is because lean rotation decays more quickly at higher values.&lt;br /&gt;
&lt;br /&gt;
Drifting directly sets the lean rotation value, so drifting for one frame to set lean rotation to a high magnitude in the opposite sign is an effective way to gain more leaning frames. This is occasionally referred to as drift resetting. This trick is commonly used to optimize [[superhopping]] and [[Supersliding#Autosliding | autosliding]]. &lt;br /&gt;
&lt;br /&gt;
The theoretical optimal leaning patterns for each combination of lean rate and lean cap are contained in the table below. Note that 0 represents any &#039;&#039;neutral&#039;&#039; input, and 7 represents any &#039;&#039;leaning&#039;&#039; input. Inputs in brackets should be looped as many times as indicated before continuing with the pattern.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;text-align:center;&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Drift Type&lt;br /&gt;
! IV &amp;lt; 5 u/f&lt;br /&gt;
! IV &amp;gt; 5 u/f&lt;br /&gt;
! SSMT&lt;br /&gt;
! Drifting&lt;br /&gt;
|-&lt;br /&gt;
! IDB&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | (0 0 7 0 7) * 3 &amp;lt;br&amp;gt; 0 7&lt;br /&gt;
| 0 7&lt;br /&gt;
| 0 (0 7) * 4 &amp;lt;br&amp;gt; 0 (0 7) * 5&lt;br /&gt;
| 0 7 7 7&lt;br /&gt;
|-&lt;br /&gt;
! ODB&lt;br /&gt;
| (0 7) * 5 &amp;lt;br&amp;gt; 7&lt;br /&gt;
| 0 7&lt;br /&gt;
| (0 7) * 7 &amp;lt;br&amp;gt; 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Gravity ===&lt;br /&gt;
Gravity applies a constant acceleration of 1.3 u/f^2, directed in the negative Y direction, as long as the vehicle is airborne. As mentioned previously, EV from gravity is never converted to IV as long as the bike remains airborne, no matter its pitch rotation.&lt;br /&gt;
&lt;br /&gt;
After 50 frames of airtime, the pitch rotation of the vehicle affects gravity. The rate of acceleration is constant from 0° to -20° (facing down), increases linearly from -20° to -40°, and reaches its maximum modifier of 20% at -40° and beyond. (Vice versa if facing up.) Therefore, gravity is bounded between [1.04, 1.56] u/f^2.&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
=== TF physics ===&lt;br /&gt;
:&#039;&#039;Main article: [[TF physics]]&#039;&#039;&lt;br /&gt;
TF physics are caused directly by a combination of leaning EV and roll rotation. When a bike gains a large amount of roll rotation, for example by drifting with IDBs, the leaning EV vectors follow the orientation of the bike, and therefore point partially upwards or downwards. For example, in a IDB drift to the right, leaning to the right causes EV to point down, e.g. reducing airtime, while leaning to the left causes EV to point up, e.g. increasing airtime.&lt;br /&gt;
&lt;br /&gt;
=== Spindrifts ===&lt;br /&gt;
:&#039;&#039;Main article: [[Drift#Spindrift]]&#039;&#039;&lt;br /&gt;
Spindrifts are a technique exclusive to bikes, caused by leaning EV. By committing to a drift in any direction, then holding the opposite direction in the air, bikes can generate EV which, upon landing, causes them to drift more sharply in the initial part of the drift, compared to holding toward the drift the whole time.&lt;br /&gt;
&lt;br /&gt;
=== Neutral gliding ===&lt;br /&gt;
During any (large) hop or wallclip, alternating between neutral and leaning inputs can be a small optimization, giving a bit more lateral distance. This is caused by the lean rotation value reaching the cap during the airtime, so input alternations (before the 20 frame limit) may generate more EV. This is often useful for superhopping as well.&lt;br /&gt;
&lt;br /&gt;
=== Start slides ===&lt;br /&gt;
Bikes are able to move during the countdown due to leaning EV. Any bike can do a wheelie to rotate sideways, then use the IV &amp;lt; 5 u/f pattern to slide sideways. For longer bikes, double wheelies can cause them to go airborne too, which significantly decreases EV dissipation and allows them to slide much further. In this case, the optimal inputs change for each bike, and are not well understood.&lt;br /&gt;
&lt;br /&gt;
=== Supergrinding ===&lt;br /&gt;
:&#039;&#039;Main article: [[Supergrinding]]&#039;&#039;&lt;br /&gt;
Through the use of [[rapid fire hopping]], the vehicle can get stuck in the ground. In this state, its wheels are not counted as making contact with the ground, and bikes can accumulate EV by leaning. However, much of the EV from supergrinding also comes from gravity and collisions with the terrain, in ways that are not properly understood yet. Karts are also able to gain EV from rapid fire hopping in certain situations, such as on a downhill.&lt;br /&gt;
&lt;br /&gt;
Optimal inputs for supergrinding involve the &amp;quot;IV &amp;gt; 5 u/f&amp;quot; pattern. However, for ODBs, the optimal pattern is not always useful, because two consecutive turning inputs result in a much tighter turning arc, so alternating every frame (like the IDB pattern) is usually preferable.&lt;br /&gt;
&lt;br /&gt;
=== Superhopping ===&lt;br /&gt;
:&#039;&#039;Main article: [[Superhopping]]&#039;&#039;&lt;br /&gt;
Outside-drift bikes can gain EV anywhere by drifting and rotating the IV vector away from the facing direction, then repeatedly spindrifting in the same direction. This causes a positive feedback loop, gaining more EV by leaning than is dissipated from wheel decay and EV to IV conversion. The EV to IV conversion makes superhopping impossible for IDBs.&lt;br /&gt;
&lt;br /&gt;
Superhopping is tough to optimize, as the inputs must be adapted depending on the situation. In general, to gain the most speed when superhopping to the right; start with a ~45° angle between facing direction and IV, -2 angle hop, +1 drift commit, hold -7 to lean, release drift before landing (wheelie optional); hop again with -2 angle hop, +1 drift commit, hold -7 to lean and neutral glide as needed, drift for 1 frame upon landing to drift reset, and repeat.&lt;br /&gt;
&lt;br /&gt;
=== Supersliding ===&lt;br /&gt;
:&#039;&#039;Main article: [[Supersliding]]&#039;&#039;&lt;br /&gt;
Some IDBs and [[Vehicles#Wario Bike | Wario Bike]] are able to drive on the ground on their body hitboxes, instead of their wheels. The EV decay effect only applies to wheels and not body hitboxes, therefore they can simply lean to gain EV after entering this state. Supersliding is not stable for most vehicles, with the exception of Wario Bike. The optimal inputs for supersliding depend on the bike&#039;s state, according to the table above. If it&#039;s possible to initiate a slipdrift, it can be a very efficient way to gain EV in a superslide.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Supersliding#Autosliding | Autosliding]]&#039;&#039;&#039; is a technique exclusive to [[automatic drift]]. It involves holding ±6/±7 inputs to lean and begin an automatic drift (which requires 12 consecutive frames of ±6 or greater), switching to the opposite direction on the last frame to drift in the opposite direction and reset lean rotation, then immediately ending the drift to lean again. Example inputs: +6 for 11 frames, -7 for 1 frame, +5 for 1 frame.&lt;br /&gt;
&lt;br /&gt;
=== Outside drift momentum ===&lt;br /&gt;
:&#039;&#039;Main article: [[Outside drift momentum]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Slope boosting ===&lt;br /&gt;
:&#039;&#039;Main article: [[Slope boosting]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Velocity stacking ===&lt;br /&gt;
:&#039;&#039;Main article: [[Velocity stacking]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== It was called hydro pump or something idr ===&lt;br /&gt;
:&#039;&#039;Main article: [[It was called hydro pump or something idr]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In 1687, Sir Isaac Newton invented gravity. His theories inspired Miyamoto to add EV to Mario Kart Wii.&lt;br /&gt;
&lt;br /&gt;
In 1905, Albert Einstein discovered leaning EV. It was a great revolution in Mario Kart Wii science and created many fervent debate among peers on categorization.&lt;br /&gt;
&lt;br /&gt;
It is speculated that state-of-the-art research on gravitons may lead to the discovery of brand new types of EV.&lt;/div&gt;</summary>
		<author><name>Citrinitas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mkwtas.com/index.php?title=Category_rules&amp;diff=1150</id>
		<title>Category rules</title>
		<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/index.php?title=Category_rules&amp;diff=1150"/>
		<updated>2025-10-07T02:14:53Z</updated>

		<summary type="html">&lt;p&gt;Citrinitas: Create Page (copy contents from my personal site)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Mario Kart Wii Leaderboard Rules=&lt;br /&gt;
The leaderboard has 3 categories: Unrestricted (UR), No Ultra (NU), and No Glitch (NG)&lt;br /&gt;
Anything not explicitly forbidden is allowed.&lt;br /&gt;
&lt;br /&gt;
==Unrestricted forbids cheats==&lt;br /&gt;
* TASes must fully replicate on an unmodified Nintendo Wii system using an unmodified first party controller&lt;br /&gt;
* Arbitary Code Execution exploits are forbidden&lt;br /&gt;
==No Ultra forbids key checkpoint exploits==&lt;br /&gt;
* All restrictions from Unrestricted apply to No Ultra&lt;br /&gt;
* Every key checkpoint on the course must be reached in order before completing a lap&lt;br /&gt;
* You may not benefit from any strategies exclusive to a more permissive category at the point you begin a flap&lt;br /&gt;
==No Glitch forbids major physics engine exploits and some strategies==&lt;br /&gt;
* All restrictions from Unrestricted and No Ultra apply to No Glitch&lt;br /&gt;
* You may not benefit from any strategies exclusive to a more permissive category at the point you begin a flap&lt;br /&gt;
===The following physics engine exploits are banned:===&lt;br /&gt;
* Using a wall to gain significant height without losing speed&lt;br /&gt;
* Partially or fully passing through the solid side of wall collision&lt;br /&gt;
* Avoiding a death or being counted OOB when that would otherwise occur&lt;br /&gt;
* Gaining large amounts of external velocity from any source other than gravity or reject road&lt;br /&gt;
===Additionally, the following strategies are banned:===&lt;br /&gt;
* All Courses&lt;br /&gt;
** Performing a delayed lap count&lt;br /&gt;
** Using a respawn to save time&lt;br /&gt;
** Using a ghost checkpoint to save time&lt;br /&gt;
** Using a wallride to save time&lt;br /&gt;
** Driving backwards to reach a key checkpoint&lt;br /&gt;
* Mushroom Gorge&lt;br /&gt;
** Using ODM (Outside-Drift Momentum) on a slow ramp&lt;br /&gt;
* Coconut Mall (CM)&lt;br /&gt;
** Exiting the play area&lt;br /&gt;
* Grumble Volcano (GV)&lt;br /&gt;
** Rock hop&lt;br /&gt;
** Rockless hop&lt;br /&gt;
* Bowser&#039;s Castle (BC)&lt;br /&gt;
** Ending turnskip&lt;br /&gt;
** Spiral skip&lt;br /&gt;
* GBA Bowser Castle 3 (rBC3)&lt;br /&gt;
** Yellow ramp turnskip&lt;br /&gt;
* DS Desert Hills (rDH)&lt;br /&gt;
** Lake cut&lt;br /&gt;
&lt;br /&gt;
== Leaderboard eligibility rules==&lt;br /&gt;
* TASes are timed according to the in-game timer at the end of a race&lt;br /&gt;
* TASers must provide the input log for their record&lt;br /&gt;
* TASes are considered to be set at the time a public video encode is released, or the RKG is submitted to the verification team for https://mkwtas.com whichever is sooner.&lt;/div&gt;</summary>
		<author><name>Citrinitas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mkwtas.com/index.php?title=User_talk:Citrinitas&amp;diff=712</id>
		<title>User talk:Citrinitas</title>
		<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/index.php?title=User_talk:Citrinitas&amp;diff=712"/>
		<updated>2023-10-22T13:38:30Z</updated>

		<summary type="html">&lt;p&gt;Citrinitas: test&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Testing 1 2 3&lt;/div&gt;</summary>
		<author><name>Citrinitas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mkwtas.com/index.php?title=User:Citrinitas&amp;diff=711</id>
		<title>User:Citrinitas</title>
		<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/index.php?title=User:Citrinitas&amp;diff=711"/>
		<updated>2023-10-22T13:21:16Z</updated>

		<summary type="html">&lt;p&gt;Citrinitas: changed 2 words&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox taser|player_name=Citrinitas|years_active=2016-Present|image=Citrinitas Avatar.png|known_for=Deleting a Bot Channel|twitch=citrinitas_|youtube=citrinitaser|other_names=Citri, Spacewhale38}}&lt;br /&gt;
&lt;br /&gt;
Hi, I&#039;m Citrinitas&lt;br /&gt;
&lt;br /&gt;
I&#039;m an Admin here at TASLabz. Sometimes I TAS.&lt;br /&gt;
&lt;br /&gt;
I maintain all of the official TASLabz accounts and do other administrative tasks. If you need something done, reach out to me and I will work with you. I also maintain https://citrinitas.net. If you need anything added or changed there, reach out to me.&lt;br /&gt;
&lt;br /&gt;
If you need to contact me for any reason I can be reached on Discord: @citrinitas and via Email: citri [at] citrinitas [dot] net. If you need to securely contact me for some reason, speak to me through one of the above channels and I will give you my signal contact info.&lt;/div&gt;</summary>
		<author><name>Citrinitas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mkwtas.com/index.php?title=User:Citrinitas&amp;diff=710</id>
		<title>User:Citrinitas</title>
		<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/index.php?title=User:Citrinitas&amp;diff=710"/>
		<updated>2023-10-22T13:19:49Z</updated>

		<summary type="html">&lt;p&gt;Citrinitas: Set up an actual profile&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox taser|player_name=Citrinitas|years_active=2016-Present|image=Citrinitas Avatar.png|known_for=Deleting a Bot Channel|twitch=citrinitas_|youtube=citrinitaser|other_names=Citri, Spacewhale38}}&lt;br /&gt;
&lt;br /&gt;
Hi, I&#039;m Citrinitas&lt;br /&gt;
&lt;br /&gt;
I&#039;m an Admin here at TASLabz. Sometimes I TAS.&lt;br /&gt;
&lt;br /&gt;
I maintain all of the official TASLabz accounts and do other administrative tasks. If you need something done, reach out to me and I will work with you. I also maintain https://citrinitas.net. If you need anything added or changed there, reach out to me.&lt;br /&gt;
&lt;br /&gt;
If you need to contact me for any reason I can be reached on Discord: @citrinitas and via Email: citri [at] citrinitas [dot] net. If you need to securely contact me for some reason, speak to me through one of those channels and I will give you my signal contact info.&lt;/div&gt;</summary>
		<author><name>Citrinitas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mkwtas.com/index.php?title=File:Citrinitas_Avatar.png&amp;diff=709</id>
		<title>File:Citrinitas Avatar.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/index.php?title=File:Citrinitas_Avatar.png&amp;diff=709"/>
		<updated>2023-10-22T13:04:23Z</updated>

		<summary type="html">&lt;p&gt;Citrinitas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An abstract image. Features yellow swirls on a black background.&lt;/div&gt;</summary>
		<author><name>Citrinitas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mkwtas.com/index.php?title=User:Citrinitas&amp;diff=405</id>
		<title>User:Citrinitas</title>
		<link rel="alternate" type="text/html" href="https://wiki.mkwtas.com/index.php?title=User:Citrinitas&amp;diff=405"/>
		<updated>2023-02-16T22:36:32Z</updated>

		<summary type="html">&lt;p&gt;Citrinitas: Created page with &amp;quot;the third stage  https://citrinitas.net&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;the third stage&lt;br /&gt;
&lt;br /&gt;
https://citrinitas.net&lt;/div&gt;</summary>
		<author><name>Citrinitas</name></author>
	</entry>
</feed>