Actions

SCHG

Difference between revisions of "Sonic Riders/Memory Editing/Formulae"

From Sonic Retro

(Moved from accidental inclusion in Functions)
 
m (Text replacement - "== (.*) ==" to "==$1==")
 
Line 1: Line 1:
 
{{SCHG Riders}}
 
{{SCHG Riders}}
== Disclaimer ==
+
==Disclaimer==
  
 
The following structures are illustrated through the use of C# code in order to simplify maintenance of this SCHG.
 
The following structures are illustrated through the use of C# code in order to simplify maintenance of this SCHG.
Line 6: Line 6:
 
Exported from the following Github project: https://github.com/sewer56lol/Sewer56.SonicRiders and mirrored by hand.
 
Exported from the following Github project: https://github.com/sewer56lol/Sewer56.SonicRiders and mirrored by hand.
  
=== Hoverboarding Speed Formulae ===
+
===Hoverboarding Speed Formulae===
  
 
<pre>
 
<pre>

Latest revision as of 16:26, 24 March 2020

SCHG: Sonic Riders
Main Article
Memory Editing & Functions

Variables
Structures
Functions
Enumerables
Mathematical Formulae

Files
File Structure
Sound Editing
Voices

Disclaimer

The following structures are illustrated through the use of C# code in order to simplify maintenance of this SCHG.

Exported from the following Github project: https://github.com/sewer56lol/Sewer56.SonicRiders and mirrored by hand.

Hoverboarding Speed Formulae


/// <summary>
/// Calculates the speed of an individual extreme gear for a specific formation.
/// </summary>
/// <param name="extremeGear">The extreme gear for which to calculate the gear speed for (Enumerable).</param>
/// <param name="formationType">The type of the character to calculate the gear speed for (Speed, Fly, or Power).</param>
public static float GetGearSpeed(ExtremeGear* extremeGear, FormationTypes formationType)
{
    float characterTypeSpeedMultiplier = Players.CharacterTypeStats[(int)formationType].MaxSpeedMultiplier;
    float speed = 216 * (characterTypeSpeedMultiplier + extremeGear->SpeedHandlingMultiplier);

    // Apply Speed Multiplier
    return speed * (extremeGear->SpeedMultiplier + 1);
}