CoveredRosterAssets.cs
using Sandbox;
namespace PaintballBaddies;
/// <summary>Identifies the covered replacement bodies and their built-in equipment.</summary>
public static class CoveredRosterAssets
{
public static string ReloadTrack( string modelPath ) => modelPath?.Replace( "\\", "/" ) switch
{
"models/characters/imani_run_clearance/imani.vmdl" => "animations/imani_reload_presentation.json",
"models/characters/imani_shuffle_pilot/imani_protected.vmdl" => "animations/imani_reload_presentation.json",
"models/characters/freya_shuffle_pilot/freya_protected.vmdl" => "animations/freya_reload_presentation.json",
"models/characters/freya_protected_morph/freya_protected.vmdl" => "animations/freya_reload_presentation.json",
"models/characters/imani_protected_morph/imani_protected.vmdl" => "animations/imani_reload_presentation.json",
"models/characters/viper_protected_morph/viper_protected.vmdl" => "animations/viper_reload_presentation.json",
"models/characters/leilani_protected_morph/leilani_protected.vmdl" => "animations/leilani_reload_presentation.json",
"models/characters/roxie_protected_morph/roxie_protected.vmdl" => "animations/roxie_reload_presentation.json",
"models/characters/mei_planted_review/mei_protected.vmdl" => "animations/mei_reload_presentation.json",
"models/characters/mei_protected_reference/mei_protected.vmdl" => "animations/mei_reload_presentation.json",
"models/characters/mei_protected_morph/mei_protected.vmdl" => "animations/mei_reload_presentation.json",
_ => null
};
/// <summary>Authored marker origin relative to RightHand, in body-space inches.</summary>
public static bool TryMarkerOffset( string modelPath, out Vector3 offset )
{
offset = default;
switch ( modelPath?.Replace( "\\", "/" ) )
{
case "models/characters/imani_run_clearance/imani.vmdl":
case "models/characters/imani_protected_morph/imani_protected.vmdl":
offset = new Vector3( 4.92126f, -.984252f, .590551f );
return true;
case "models/characters/imani_shuffle_pilot/imani_protected.vmdl":
case "models/characters/imani_protected_two_arm/imani_protected.vmdl":
offset = new Vector3( 4.92126f, -.984252f, -3.740157f );
return true;
case "models/characters/viper_protected_two_arm/viper_protected.vmdl":
case "models/characters/viper_protected_morph/viper_protected.vmdl":
offset = new Vector3( 3.464567f, 1.377953f, -3.740157f );
return true;
case "models/characters/freya_protected_two_arm/freya_protected.vmdl":
case "models/characters/freya_shuffle_pilot/freya_protected.vmdl":
case "models/characters/freya_protected_morph/freya_protected.vmdl":
case "models/characters/roxie_protected_two_arm/roxie_protected.vmdl":
case "models/characters/roxie_protected_morph/roxie_protected.vmdl":
case "models/characters/leilani_protected_two_arm/leilani_protected.vmdl":
case "models/characters/leilani_protected_morph/leilani_protected.vmdl":
offset = new Vector3( 4.92126f, 1.377953f, .590551f );
return true;
case "models/characters/mei_protected_two_arm/mei_protected.vmdl":
case "models/characters/mei_planted_review/mei_protected.vmdl":
case "models/characters/mei_protected_reference/mei_protected.vmdl":
case "models/characters/mei_protected_morph/mei_protected.vmdl":
offset = new Vector3( 4.133858f, 1.377953f, .590551f );
return true;
default:
return false;
}
}
public static int CharacterIndex( string modelPath ) => modelPath?.Replace( "\\", "/" ) switch
{
"models/characters/imani_run_clearance/imani.vmdl" => 2,
"models/characters/viper_protected/viper_protected.vmdl" => 0,
"models/characters/viper_protected_two_arm/viper_protected.vmdl" => 0,
"models/characters/viper_protected_morph/viper_protected.vmdl" => 0,
"models/characters/roxie_protected/roxie_protected.vmdl" => 1,
"models/characters/roxie_protected_grip/roxie_protected.vmdl" => 1,
"models/characters/roxie_protected_two_arm/roxie_protected.vmdl" => 1,
"models/characters/roxie_protected_morph/roxie_protected.vmdl" => 1,
"models/characters/imani_protected/imani_protected.vmdl" => 2,
"models/characters/imani_shuffle_pilot/imani_protected.vmdl" => 2,
"models/characters/imani_protected_two_arm/imani_protected.vmdl" => 2,
"models/characters/imani_protected_morph/imani_protected.vmdl" => 2,
"models/characters/mei_protected/mei_protected.vmdl" => 3,
"models/characters/mei_protected_two_arm/mei_protected.vmdl" => 3,
"models/characters/mei_planted_review/mei_protected.vmdl" => 3,
"models/characters/mei_protected_reference/mei_protected.vmdl" => 3,
"models/characters/mei_protected_morph/mei_protected.vmdl" => 3,
"models/characters/freya_protected/freya_protected.vmdl" => 4,
"models/characters/freya_shuffle_pilot/freya_protected.vmdl" => 4,
"models/characters/freya_protected_two_arm/freya_protected.vmdl" => 4,
"models/characters/freya_protected_morph/freya_protected.vmdl" => 4,
"models/characters/leilani_protected/leilani_protected.vmdl" => 5,
"models/characters/leilani_protected_two_arm/leilani_protected.vmdl" => 5,
"models/characters/leilani_protected_morph/leilani_protected.vmdl" => 5,
_ => -1
};
}