Static data class that provides baked root-motion curves for zombie entrance animation clips. It stores 33-sample Vector3 arrays keyed by clip name, exposes Samples, Has(clip) and Sample(clip,t) which interpolates between stored samples and returns a model-space offset.
using System.Collections.Generic;
namespace NZombies;
/// <summary>
/// GENERATED by Tools/gen_root_motion.py - do not hand-edit.
///
/// Root-motion curves for entrance clips: where the model's root bone travels
/// over each animation, as absolute offsets from frame 0.
///
/// ⚠️ WHY THIS IS NEEDED. The original moves the ENTITY every frame by the
/// animation's own movement (GetSequenceMovement -> SetPos, moo:6985
/// PlaySequenceAndMove). s&box has no equivalent, and the DMX conversion strips
/// root motion out of the compiled model - which is why a riser played its
/// climb on the spot at standing height. The SOURCE SMDs still carry it, so the
/// curve is baked here and replayed onto the transform at runtime.
///
/// ⚠️ ABSOLUTE offsets, not per-frame deltas. Sampling an absolute curve cannot
/// drift; accumulated deltas drift whenever a frame is missed, the clip loops,
/// or playback rate changes mid-entrance.
///
/// Source axes are Source engine convention: +X forward, +Y left, +Z up - the
/// same as s&box, so no axis swap is applied.
/// </summary>
public static class WalkerRootMotion
{
/// <summary>33 evenly spaced samples per clip, t = 0..1.</summary>
public const int Samples = 33;
/// <summary>Does this clip carry root motion worth replaying?</summary>
public static bool Has( string clip )
=> clip is not null && Curves.ContainsKey( clip );
/// <summary>
/// Offset from the clip's start at normalised time t, in MODEL space.
/// Callers rotate it into world space themselves.
/// </summary>
public static Vector3 Sample( string clip, float t )
{
if ( clip is null || !Curves.TryGetValue( clip, out var curve ) || curve.Length == 0 )
return Vector3.Zero;
t = t.Clamp( 0f, 1f );
var f = t * (curve.Length - 1);
var a = (int)f;
var b = a + 1 < curve.Length ? a + 1 : a;
// Lerped rather than stepped: at 33 samples over a 4s clip the steps
// would be visible as a stutter up the climb.
return Vector3.Lerp( curve[a], curve[b], f - a );
}
public static readonly Dictionary<string, Vector3[]> Curves = new()
{
["nz_base_riser_elevator_from_ceiling"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(0.14f,0.53f,-1.34f), new(-0.75f,1.05f,-1.18f), new(-1.76f,1.31f,0.98f), new(-2.83f,1.91f,1.73f), new(-3.94f,3.94f,-2.75f), new(-5.04f,8.18f,-12.98f), new(-5.51f,7.95f,-26.41f), new(-0.23f,4.00f,-33.34f), new(2.16f,-0.39f,-39.13f), new(4.35f,-2.98f,-45.77f), new(9.17f,-2.28f,-52.62f), new(14.86f,-1.42f,-59.00f), new(8.11f,-2.11f,-68.49f), new(-4.71f,-0.77f,-73.38f), new(-10.48f,1.43f,-74.03f), new(-12.73f,3.79f,-72.70f), new(-12.62f,5.68f,-70.25f), new(-11.35f,6.78f,-68.08f), new(-10.45f,6.02f,-67.75f), new(-10.53f,3.80f,-68.48f), new(-11.11f,0.55f,-69.94f), new(-12.22f,-4.31f,-72.52f), new(-13.65f,-11.90f,-76.36f), new(-15.59f,-22.03f,-81.22f), new(-17.78f,-33.43f,-87.01f), new(-18.20f,-44.90f,-94.60f), new(-16.13f,-54.40f,-104.59f), new(-14.13f,-62.88f,-115.83f), new(-11.98f,-69.56f,-120.74f), new(-9.63f,-74.51f,-118.77f), new(-8.04f,-79.37f,-117.32f), new(-7.61f,-81.03f,-117.16f) },
["nz_base_riser_elevator_from_floor"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(0.64f,7.65f,8.56f), new(2.95f,7.52f,16.85f), new(2.88f,5.63f,36.38f), new(2.18f,3.67f,41.12f), new(0.06f,8.12f,42.44f), new(2.60f,11.51f,46.85f), new(6.56f,12.91f,51.59f), new(5.61f,10.36f,55.80f), new(1.53f,7.98f,64.44f), new(-3.13f,3.90f,70.12f), new(-4.77f,-0.94f,73.87f), new(-3.04f,-6.06f,81.83f), new(-0.86f,-11.92f,88.10f), new(-0.45f,-16.48f,89.78f), new(-3.55f,-19.47f,88.95f), new(-7.49f,-22.73f,86.84f), new(-7.06f,-27.36f,83.05f), new(-2.76f,-28.06f,84.14f), new(3.43f,-27.01f,82.94f), new(8.14f,-25.50f,80.64f), new(8.74f,-25.68f,78.98f), new(8.54f,-25.84f,78.39f), new(7.26f,-25.50f,76.97f), new(6.07f,-25.41f,78.40f), new(5.72f,-24.08f,81.03f), new(5.98f,-22.76f,86.71f), new(4.51f,-24.75f,94.89f), new(1.39f,-28.18f,96.32f), new(3.14f,-27.80f,95.62f), new(3.55f,-27.76f,95.65f), new(3.32f,-27.95f,95.61f), new(2.94f,-27.96f,95.59f) },
["nz_base_zombie_cellbreaker_spawn"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-0.18f,-0.38f,-0.21f), new(-0.35f,-0.73f,-0.32f), new(-0.51f,-1.12f,-0.30f), new(-0.67f,-1.59f,-0.13f), new(-0.80f,-2.09f,0.11f), new(-0.93f,-2.62f,0.43f), new(-1.05f,-3.13f,0.75f), new(-1.17f,-3.59f,0.99f), new(-1.26f,-4.00f,1.18f), new(-1.35f,-4.28f,1.34f), new(-1.43f,-4.42f,1.50f), new(-1.49f,-4.52f,1.62f), new(-1.56f,-4.60f,1.77f), new(-1.61f,-4.74f,2.10f), new(-1.55f,-4.85f,2.41f), new(-1.49f,-4.98f,2.79f), new(-1.33f,-5.01f,3.15f), new(-1.17f,-4.94f,3.51f), new(-1.03f,-4.66f,3.89f), new(-0.85f,-2.86f,3.64f), new(-0.69f,0.01f,1.69f), new(-0.63f,2.24f,-0.60f), new(-0.60f,3.91f,-2.77f), new(-0.55f,5.18f,-4.82f), new(-0.47f,6.05f,-6.72f), new(-0.44f,6.69f,-8.41f), new(-0.43f,7.11f,-9.70f), new(-0.36f,7.34f,-10.54f), new(-0.17f,7.52f,-10.90f), new(0.09f,7.61f,-10.80f), new(0.38f,7.59f,-10.34f), new(0.62f,7.55f,-9.69f) },
["nz_ent_ceiling_112"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-1.27f,-4.82f,-16.99f), new(1.61f,-6.00f,-34.81f), new(3.68f,-10.41f,-47.45f), new(3.58f,-14.39f,-73.39f), new(2.27f,-19.89f,-104.27f), new(0.60f,-25.95f,-132.27f), new(-0.82f,-30.71f,-136.04f), new(-1.88f,-34.42f,-133.44f), new(-2.84f,-37.82f,-130.31f), new(-3.35f,-40.45f,-127.16f), new(-3.57f,-42.65f,-124.13f), new(-3.52f,-44.56f,-121.70f), new(-3.26f,-46.24f,-120.11f), new(-2.84f,-47.83f,-119.53f), new(-2.29f,-49.62f,-119.50f), new(-1.86f,-51.80f,-119.86f), new(-1.42f,-53.87f,-119.99f), new(-1.09f,-55.89f,-119.55f), new(-0.86f,-57.94f,-118.76f), new(-0.83f,-60.32f,-118.15f), new(-0.91f,-63.02f,-117.92f), new(-1.34f,-66.24f,-118.54f), new(-2.07f,-69.92f,-120.21f), new(-2.64f,-73.20f,-121.49f), new(-2.98f,-75.84f,-121.56f), new(-3.15f,-78.20f,-120.76f), new(-3.19f,-80.48f,-119.44f), new(-3.13f,-82.85f,-118.03f), new(-3.11f,-85.41f,-116.85f), new(-3.00f,-88.30f,-116.15f), new(-2.77f,-91.79f,-116.34f), new(-2.43f,-95.75f,-117.20f) },
["nz_ent_ceiling_144"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-1.27f,-4.82f,-104.48f), new(1.61f,-6.00f,-231.04f), new(3.68f,-10.41f,-286.17f), new(3.58f,-14.39f,-328.36f), new(2.27f,-19.89f,-359.24f), new(0.60f,-25.95f,-387.24f), new(-0.82f,-30.71f,-391.01f), new(-1.88f,-34.42f,-388.42f), new(-2.84f,-37.82f,-385.28f), new(-3.35f,-40.45f,-382.13f), new(-3.57f,-42.65f,-379.10f), new(-3.52f,-44.56f,-376.68f), new(-3.26f,-46.24f,-375.08f), new(-2.84f,-47.83f,-374.51f), new(-2.29f,-49.62f,-374.47f), new(-1.86f,-51.80f,-374.83f), new(-1.42f,-53.87f,-374.97f), new(-1.09f,-55.89f,-374.52f), new(-0.86f,-57.94f,-373.73f), new(-0.83f,-60.32f,-373.12f), new(-0.91f,-63.02f,-372.90f), new(-1.34f,-66.24f,-373.51f), new(-2.07f,-69.92f,-375.18f), new(-2.64f,-73.20f,-376.47f), new(-2.98f,-75.84f,-376.53f), new(-3.15f,-78.20f,-375.73f), new(-3.19f,-80.48f,-374.41f), new(-3.13f,-82.85f,-373.00f), new(-3.11f,-85.41f,-371.83f), new(-3.00f,-88.30f,-371.13f), new(-2.77f,-91.79f,-371.31f), new(-2.43f,-95.75f,-372.17f) },
["nz_ent_ground_01"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(0.17f,0.05f,0.46f), new(0.08f,-0.07f,3.79f), new(-0.68f,-1.47f,8.95f), new(-0.98f,-3.62f,15.24f), new(-0.10f,-6.09f,22.21f), new(0.29f,-6.98f,22.75f), new(-1.09f,-7.28f,23.30f), new(-1.84f,-7.44f,24.59f), new(-1.64f,-8.05f,24.82f), new(-0.59f,-8.83f,24.97f), new(0.83f,-8.78f,27.12f), new(2.68f,-8.32f,32.18f), new(2.05f,-7.99f,36.77f), new(-0.09f,-8.39f,40.28f), new(-1.72f,-9.93f,42.05f), new(-1.47f,-11.86f,42.36f), new(-0.58f,-13.13f,43.46f), new(0.75f,-13.42f,45.93f), new(2.78f,-14.89f,46.02f), new(5.12f,-16.40f,47.00f), new(6.29f,-17.63f,48.54f), new(6.92f,-18.88f,50.22f), new(7.35f,-20.10f,52.39f), new(8.00f,-21.32f,56.04f), new(7.11f,-22.56f,58.78f), new(6.39f,-23.81f,59.90f), new(6.64f,-25.05f,60.54f), new(7.50f,-26.29f,60.38f), new(7.24f,-27.51f,61.36f), new(6.88f,-28.75f,63.78f), new(7.35f,-29.98f,65.86f), new(7.89f,-31.22f,66.27f) },
["nz_ent_ground_02"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-0.12f,-0.31f,0.03f), new(-0.14f,-0.24f,0.22f), new(0.27f,-1.38f,0.46f), new(0.79f,-1.80f,0.54f), new(1.51f,-1.47f,0.76f), new(1.79f,-0.83f,0.42f), new(2.05f,-1.46f,2.71f), new(2.53f,-2.13f,5.15f), new(2.89f,-3.02f,8.42f), new(2.47f,-4.21f,13.17f), new(1.47f,-5.43f,17.75f), new(-0.27f,-7.23f,21.91f), new(-2.28f,-8.41f,25.80f), new(-3.98f,-9.02f,30.01f), new(-5.96f,-9.78f,34.52f), new(-7.17f,-9.92f,37.57f), new(-7.39f,-9.90f,39.43f), new(-6.11f,-10.04f,42.46f), new(-4.06f,-9.63f,46.97f), new(-2.06f,-9.18f,52.61f), new(-1.13f,-8.76f,55.48f), new(-1.47f,-8.92f,55.44f), new(-2.65f,-9.39f,54.91f), new(-4.04f,-9.67f,55.95f), new(-5.49f,-10.01f,57.79f), new(-5.84f,-10.68f,59.30f), new(-4.77f,-12.27f,60.99f), new(-3.56f,-16.24f,62.93f), new(-3.57f,-21.95f,64.68f), new(-2.84f,-29.82f,65.17f), new(-1.65f,-35.13f,64.37f), new(-1.43f,-37.02f,64.57f) },
["nz_ent_ground_wall_01"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-0.67f,0.89f,4.49f), new(-0.29f,0.40f,9.97f), new(1.21f,0.53f,15.16f), new(3.80f,2.16f,20.60f), new(5.04f,3.32f,26.44f), new(6.47f,2.38f,31.43f), new(6.61f,1.24f,34.85f), new(4.93f,0.90f,38.01f), new(2.93f,0.39f,40.73f), new(1.94f,-2.35f,43.53f), new(2.21f,-6.69f,45.85f), new(4.20f,-10.33f,48.12f), new(5.88f,-13.37f,50.44f), new(6.62f,-18.02f,52.19f), new(7.09f,-24.83f,53.28f), new(6.71f,-30.76f,54.07f), new(5.76f,-35.14f,58.65f), new(4.28f,-38.85f,67.78f), new(3.00f,-43.18f,68.68f), new(1.85f,-47.62f,69.78f), new(0.92f,-50.29f,71.42f), new(0.81f,-50.91f,73.43f), new(1.76f,-52.39f,75.28f), new(3.10f,-55.03f,76.91f), new(4.56f,-58.04f,78.30f), new(5.87f,-60.91f,79.59f), new(6.84f,-63.07f,80.94f), new(7.17f,-64.84f,81.95f), new(7.78f,-68.50f,82.39f), new(8.46f,-72.90f,82.58f), new(9.02f,-77.21f,82.64f), new(9.22f,-80.65f,82.68f) },
["nz_ent_ground_wall_03"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(3.39f,0.37f,7.77f), new(4.19f,0.94f,16.74f), new(3.79f,1.12f,25.12f), new(1.36f,1.01f,32.75f), new(-1.85f,0.89f,39.06f), new(-1.55f,0.66f,43.67f), new(0.53f,0.30f,48.09f), new(3.59f,-0.36f,52.01f), new(6.36f,-1.60f,54.44f), new(6.96f,-3.80f,55.33f), new(5.87f,-6.90f,55.28f), new(2.20f,-10.78f,55.17f), new(-2.08f,-15.05f,55.20f), new(-3.67f,-19.02f,56.14f), new(-2.17f,-22.80f,57.67f), new(0.94f,-26.01f,57.87f), new(4.88f,-29.56f,57.48f), new(7.71f,-32.73f,56.59f), new(8.36f,-33.85f,56.76f), new(7.05f,-34.72f,56.71f), new(5.57f,-35.39f,56.57f), new(5.04f,-34.85f,56.37f), new(4.98f,-34.21f,56.56f), new(4.88f,-32.65f,59.91f), new(3.74f,-31.77f,68.86f), new(2.35f,-32.54f,77.59f), new(1.66f,-28.98f,80.56f), new(1.14f,-28.23f,83.48f), new(0.59f,-31.27f,86.16f), new(-0.47f,-35.10f,86.96f), new(0.57f,-40.58f,86.10f), new(2.08f,-48.89f,83.09f) },
["nz_spawn_ground_ad_v2"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(0.02f,0.00f,0.01f), new(0.05f,0.00f,0.01f), new(0.08f,-0.00f,0.04f), new(0.19f,0.02f,0.22f), new(0.26f,0.02f,3.91f), new(0.20f,0.03f,8.00f), new(0.03f,-0.17f,12.72f), new(-0.16f,-0.66f,17.00f), new(-0.28f,-1.47f,20.40f), new(-0.27f,-2.68f,23.33f), new(-0.26f,-4.03f,25.92f), new(-0.29f,-5.60f,28.22f), new(-0.39f,-7.32f,30.58f), new(-0.48f,-9.26f,33.00f), new(-0.60f,-11.28f,35.22f), new(-0.66f,-13.55f,37.00f), new(-0.66f,-15.92f,38.34f), new(-0.60f,-18.26f,39.46f), new(-0.48f,-20.47f,40.72f), new(-0.25f,-22.50f,42.20f), new(0.07f,-24.37f,43.41f), new(0.30f,-25.82f,44.35f), new(0.55f,-26.58f,45.23f), new(0.90f,-27.17f,46.04f), new(1.41f,-27.72f,46.58f), new(1.92f,-28.24f,46.99f), new(2.52f,-28.94f,47.48f), new(3.14f,-29.75f,47.91f), new(3.72f,-30.67f,48.10f), new(4.00f,-31.62f,48.22f), new(3.91f,-32.52f,48.30f), new(3.51f,-33.38f,48.37f) },
["nz_spawn_ground_climbout_fast"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-0.41f,-0.95f,-0.21f), new(-1.16f,-1.84f,0.45f), new(-1.06f,-1.41f,0.15f), new(-0.86f,-1.05f,-0.69f), new(-1.39f,-2.18f,0.73f), new(-1.62f,-2.06f,0.72f), new(-0.33f,-1.79f,-0.54f), new(-0.25f,-1.61f,1.67f), new(0.17f,-1.14f,4.22f), new(1.12f,-0.65f,6.80f), new(0.10f,-2.31f,10.65f), new(-2.79f,-5.94f,15.66f), new(-1.17f,-7.80f,21.77f), new(-1.35f,-9.06f,22.72f), new(-2.81f,-9.26f,24.56f), new(-1.81f,-10.59f,24.65f), new(0.68f,-10.51f,28.61f), new(2.83f,-9.83f,34.31f), new(3.58f,-10.29f,38.56f), new(1.61f,-10.80f,38.66f), new(-2.06f,-10.33f,41.00f), new(-2.80f,-12.79f,42.41f), new(-1.67f,-15.13f,44.06f), new(0.96f,-16.74f,46.25f), new(4.35f,-20.03f,47.98f), new(5.25f,-23.72f,50.71f), new(5.98f,-27.37f,55.40f), new(4.59f,-28.76f,59.71f), new(4.54f,-30.46f,61.03f), new(5.66f,-36.16f,61.11f), new(6.96f,-46.54f,64.13f), new(8.73f,-56.17f,65.25f) },
["nz_spawn_ground_jumpout"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(0.38f,0.42f,4.78f), new(1.22f,0.49f,17.26f), new(2.79f,0.24f,37.82f), new(4.39f,-0.13f,60.68f), new(5.59f,-0.57f,81.03f), new(6.15f,-1.01f,92.64f), new(6.26f,-1.44f,99.57f), new(6.18f,-1.87f,104.35f), new(5.94f,-2.25f,106.30f), new(5.60f,-2.58f,106.82f), new(5.20f,-2.84f,105.46f), new(4.57f,-2.96f,101.12f), new(3.96f,-2.94f,93.83f), new(3.35f,-2.72f,84.85f), new(2.77f,-2.32f,74.87f), new(2.23f,-1.79f,64.63f), new(1.74f,-1.20f,55.02f), new(1.32f,-0.59f,46.77f), new(0.98f,-0.04f,43.78f), new(0.83f,1.60f,44.29f), new(1.05f,3.32f,45.67f), new(1.34f,4.69f,47.59f), new(1.66f,4.40f,49.88f), new(1.77f,2.82f,52.33f), new(1.77f,0.78f,54.77f), new(1.76f,-1.31f,56.98f), new(1.77f,-3.19f,58.78f), new(1.81f,-4.54f,59.97f), new(1.81f,-4.54f,59.97f), new(1.81f,-4.54f,59.97f), new(1.81f,-4.54f,59.97f), new(1.81f,-4.54f,59.97f) },
["nz_spawn_ground_v1"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-0.11f,-0.26f,0.24f), new(1.05f,-1.73f,0.70f), new(1.95f,-1.20f,1.92f), new(2.99f,-2.76f,7.65f), new(2.53f,-4.21f,11.83f), new(-1.44f,-6.83f,13.26f), new(-1.31f,-7.33f,13.10f), new(-2.32f,-8.61f,12.42f), new(-2.42f,-8.21f,10.68f), new(-1.21f,-6.94f,10.56f), new(2.11f,-6.03f,10.35f), new(3.37f,-4.40f,10.10f), new(5.21f,-3.01f,11.44f), new(9.01f,-6.49f,18.59f), new(8.84f,-9.27f,20.48f), new(7.65f,-9.90f,19.84f), new(4.36f,-8.93f,21.60f), new(2.03f,-8.39f,24.80f), new(-1.38f,-8.60f,30.82f), new(-4.19f,-9.56f,34.14f), new(-7.35f,-9.99f,37.76f), new(-7.00f,-10.11f,41.62f), new(-4.12f,-9.46f,41.89f), new(-3.43f,-10.11f,43.91f), new(-4.34f,-10.06f,46.63f), new(-1.48f,-9.06f,55.49f), new(-2.31f,-9.24f,55.80f), new(-5.73f,-10.09f,58.45f), new(-4.51f,-13.40f,62.21f), new(-2.38f,-24.95f,65.99f), new(1.54f,-31.75f,65.25f), new(0.94f,-33.56f,66.56f) },
["nz_spawn_ground_v1_deathinside"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(0.05f,-0.13f,-0.17f), new(-0.06f,-0.51f,-0.04f), new(-0.19f,-1.01f,0.19f), new(-0.15f,-1.24f,0.22f), new(-0.04f,-1.06f,-0.23f), new(0.08f,-0.37f,-1.20f), new(0.13f,0.69f,-2.54f), new(0.60f,1.84f,-4.05f), new(1.44f,2.68f,-5.37f), new(2.14f,2.84f,-5.80f), new(2.54f,2.83f,-5.80f), new(2.88f,2.83f,-6.00f), new(3.38f,2.81f,-7.21f), new(4.20f,3.11f,-8.97f), new(5.16f,3.90f,-10.57f), new(6.08f,4.87f,-12.09f), new(6.88f,5.62f,-13.70f), new(7.06f,5.74f,-15.07f), new(6.91f,5.58f,-16.43f), new(6.87f,5.45f,-17.70f), new(7.24f,5.46f,-18.86f), new(7.99f,5.56f,-19.95f), new(8.86f,5.51f,-20.86f), new(9.71f,5.32f,-21.67f), new(10.47f,5.10f,-22.19f), new(10.99f,5.06f,-22.43f), new(11.14f,5.21f,-22.61f), new(11.08f,5.39f,-22.65f), new(10.98f,5.38f,-22.49f), new(10.83f,5.24f,-22.21f), new(10.51f,5.26f,-22.07f), new(10.05f,5.50f,-22.11f) },
["nz_spawn_ground_v1_deathoutside"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-0.37f,-1.90f,0.70f), new(-0.45f,-3.57f,1.23f), new(-0.18f,-4.84f,1.44f), new(0.35f,-5.86f,1.59f), new(1.21f,-7.10f,1.76f), new(2.16f,-8.91f,1.62f), new(2.55f,-11.56f,0.66f), new(2.25f,-14.58f,-1.22f), new(2.28f,-17.54f,-3.21f), new(2.63f,-20.55f,-5.57f), new(3.09f,-23.59f,-7.95f), new(3.73f,-26.61f,-8.76f), new(4.50f,-29.40f,-8.15f), new(5.29f,-31.56f,-8.47f), new(5.89f,-32.96f,-8.89f), new(6.44f,-33.62f,-8.84f), new(6.81f,-33.93f,-8.97f), new(7.12f,-34.06f,-9.09f), new(7.34f,-34.22f,-9.15f), new(7.48f,-34.38f,-9.19f), new(7.53f,-34.53f,-9.20f), new(7.52f,-34.71f,-9.19f), new(7.48f,-34.90f,-9.16f), new(7.42f,-35.03f,-9.13f), new(7.36f,-35.08f,-9.09f), new(7.29f,-35.11f,-9.04f), new(7.21f,-35.11f,-9.00f), new(7.18f,-35.18f,-8.98f), new(7.19f,-35.25f,-8.97f), new(7.25f,-35.30f,-8.97f), new(7.29f,-35.28f,-8.97f), new(7.34f,-35.32f,-8.95f) },
["nz_spawn_ground_v1_run"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-0.35f,-0.98f,-0.21f), new(-1.15f,-2.03f,0.54f), new(-0.95f,-1.24f,-0.26f), new(-0.85f,-1.49f,-0.38f), new(-1.73f,-2.39f,1.01f), new(-0.97f,-1.97f,0.04f), new(-0.17f,-1.80f,-0.12f), new(-0.10f,-1.45f,2.99f), new(0.48f,-0.64f,5.06f), new(1.35f,-0.82f,8.46f), new(-1.10f,-3.84f,12.20f), new(-2.25f,-6.88f,17.54f), new(0.06f,-8.34f,22.21f), new(-1.42f,-9.17f,22.86f), new(-2.38f,-9.50f,24.46f), new(-0.99f,-10.71f,24.67f), new(1.59f,-10.27f,28.85f), new(3.44f,-9.56f,34.27f), new(4.18f,-9.95f,38.27f), new(2.57f,-10.73f,38.23f), new(-1.18f,-10.29f,40.37f), new(-2.18f,-12.34f,42.10f), new(-1.29f,-15.04f,43.12f), new(1.07f,-15.92f,46.19f), new(4.91f,-18.86f,47.11f), new(6.55f,-22.33f,49.80f), new(7.40f,-26.13f,53.57f), new(6.93f,-28.29f,59.05f), new(6.19f,-29.54f,60.81f), new(7.72f,-34.26f,60.79f), new(9.58f,-45.02f,63.61f), new(12.25f,-55.48f,65.04f) },
["nz_spawn_ground_v2"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(-0.01f,-0.00f,0.02f), new(-0.02f,-0.01f,0.03f), new(0.08f,-0.03f,0.11f), new(0.37f,-0.06f,4.86f), new(0.51f,-0.12f,11.10f), new(0.40f,-0.28f,16.41f), new(0.30f,-1.10f,18.62f), new(0.45f,-2.85f,21.37f), new(0.62f,-5.03f,24.48f), new(0.71f,-7.53f,27.66f), new(0.74f,-10.29f,30.77f), new(0.82f,-13.27f,33.54f), new(0.62f,-16.32f,35.35f), new(0.57f,-18.29f,37.17f), new(0.69f,-19.90f,38.73f), new(1.02f,-21.13f,40.29f), new(1.45f,-22.12f,41.80f), new(1.82f,-23.22f,42.76f), new(1.70f,-24.95f,43.74f), new(0.64f,-28.07f,44.87f), new(-0.09f,-31.74f,45.57f), new(-0.08f,-33.59f,45.39f), new(0.62f,-33.77f,45.87f), new(0.90f,-34.39f,46.51f), new(1.12f,-35.83f,46.59f), new(1.42f,-37.36f,46.49f), new(1.57f,-38.25f,46.77f), new(1.58f,-38.19f,47.09f), new(1.59f,-37.55f,47.32f), new(0.92f,-37.34f,47.77f), new(-0.44f,-38.07f,47.90f), new(-1.48f,-37.98f,47.76f) },
["nz_spawn_ground_v2_altb"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(0.00f,0.00f,-0.00f), new(0.00f,0.00f,-0.01f), new(-0.00f,0.01f,1.15f), new(0.00f,0.03f,2.72f), new(0.02f,0.06f,4.36f), new(0.02f,0.08f,6.02f), new(0.01f,0.04f,7.66f), new(0.01f,-0.11f,9.23f), new(0.03f,-0.39f,10.77f), new(0.09f,-0.71f,12.43f), new(0.16f,-0.89f,14.20f), new(0.19f,-0.95f,16.19f), new(0.11f,-1.35f,18.27f), new(0.00f,-2.02f,20.33f), new(-0.23f,-2.78f,22.42f), new(-0.57f,-3.66f,24.57f), new(-0.84f,-4.83f,26.80f), new(-1.03f,-6.17f,28.95f), new(-1.11f,-7.73f,31.00f), new(-1.10f,-9.72f,32.92f), new(-0.99f,-11.90f,34.86f), new(-0.89f,-14.12f,37.11f), new(-1.37f,-16.32f,39.12f), new(-2.21f,-18.21f,40.90f), new(-2.98f,-19.67f,42.60f), new(-3.42f,-20.86f,44.19f), new(-3.51f,-22.20f,45.54f), new(-3.46f,-23.93f,46.50f), new(-3.41f,-26.01f,47.04f), new(-3.35f,-28.19f,47.19f), new(-3.40f,-30.24f,47.37f), new(-3.61f,-31.70f,47.61f) },
["nz_spawn_ground_v2_deathinside"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(0.10f,0.15f,-2.08f), new(0.27f,0.36f,-4.76f), new(0.30f,0.68f,-7.94f), new(0.10f,1.12f,-11.58f), new(0.10f,1.31f,-13.72f), new(0.10f,1.21f,-13.50f), new(0.01f,1.38f,-12.16f), new(-0.23f,1.68f,-11.11f), new(-0.39f,2.15f,-10.68f), new(-0.38f,2.65f,-10.68f), new(-0.26f,3.06f,-10.87f), new(-0.10f,3.31f,-10.96f), new(0.05f,3.38f,-10.92f), new(0.19f,3.38f,-10.88f), new(0.30f,3.31f,-10.93f), new(0.34f,3.18f,-11.09f), new(0.36f,3.04f,-11.26f), new(0.31f,2.92f,-11.40f), new(0.26f,2.85f,-11.43f), new(0.20f,2.80f,-11.43f), new(0.19f,2.79f,-11.41f), new(0.19f,2.79f,-11.40f), new(0.22f,2.82f,-11.40f), new(0.24f,2.85f,-11.40f), new(0.26f,2.88f,-11.41f), new(0.25f,2.88f,-11.39f), new(0.23f,2.89f,-11.37f), new(0.22f,2.90f,-11.35f), new(0.22f,2.89f,-11.36f), new(0.22f,2.89f,-11.37f), new(0.23f,2.88f,-11.37f), new(0.24f,2.88f,-11.37f) },
["nz_spawn_ground_v2_deathoutside"] = new Vector3[] { new(0.00f,0.00f,0.00f), new(0.29f,0.51f,-1.07f), new(0.56f,1.54f,-2.62f), new(0.69f,2.97f,-4.84f), new(0.84f,4.66f,-8.21f), new(0.82f,6.67f,-12.54f), new(0.97f,9.07f,-17.71f), new(1.12f,12.07f,-23.46f), new(0.77f,15.82f,-29.21f), new(0.47f,18.02f,-32.07f), new(0.20f,18.53f,-30.78f), new(-0.05f,19.56f,-28.83f), new(-0.26f,20.67f,-27.45f), new(-0.56f,21.21f,-27.16f), new(-1.02f,21.22f,-27.67f), new(-1.45f,20.85f,-28.31f), new(-1.59f,20.57f,-28.55f), new(-1.49f,20.31f,-28.48f), new(-1.25f,20.22f,-28.49f), new(-1.01f,20.23f,-28.65f), new(-0.78f,20.29f,-28.78f), new(-0.60f,20.40f,-28.77f), new(-0.41f,20.50f,-28.75f), new(-0.26f,20.59f,-28.77f), new(-0.17f,20.67f,-28.81f), new(-0.21f,20.68f,-28.81f), new(-0.32f,20.62f,-28.77f), new(-0.44f,20.57f,-28.74f), new(-0.50f,20.54f,-28.71f), new(-0.50f,20.55f,-28.70f), new(-0.46f,20.56f,-28.70f), new(-0.42f,20.58f,-28.70f), new(-0.38f,20.60f,-28.70f) },
};
}