+#ifdef SVQC
.vector moveto;
/**
if (self.waterlevel > 1)
{
self.velocity = self.velocity + force * (acceleration * deltatime);
- self.velocity = self.velocity + '0 0 0.05' * sv_gravity * deltatime;
+ self.velocity = self.velocity + '0 0 0.05' * autocvar_sv_gravity * deltatime;
}
else
- self.velocity = self.velocity + '0 0 -1' * sv_gravity * deltatime;
+ self.velocity = self.velocity + '0 0 -1' * autocvar_sv_gravity * deltatime;
mspeed = vlen(self.velocity);
old_speed = vlen(self.velocity);
old_dir = normalize(self.velocity);
- //ggravity = (sv_gravity / self.mass) * '0 0 100';
+ //ggravity = (autocvar_sv_gravity / self.mass) * '0 0 100';
acceleration = (force / self.mass) * dir;
//acceleration -= old_dir * (old_speed / self.mass);
acceleration -= ggravity;
}
*/
+/*
void movelib_move_simple(vector newdir,float velo,float blendrate)
{
self.velocity = self.velocity * (1 - blendrate) + (newdir * blendrate) * velo;
}
+*/
+#define movelib_move_simple(newdir,velo,blendrate) \
+ self.velocity = self.velocity * (1 - blendrate) + (newdir * blendrate) * velo
void movelib_beak_simple(float force)
{
Pitches and rolls the entity to match the gound.
Yed need to set v_up and v_forward (generally by calling makevectors) before calling this.
**/
-void movelib_groundalign4point(float spring_length, float spring_up, float blendrate)
+#endif
+
+void movelib_groundalign4point(float spring_length, float spring_up, float blendrate, float _max)
{
vector a, b, c, d, e, r, push_angle, ahead, side;
r = self.origin;
r_z = r_z;
- push_angle_x = (a_z - c_z) * 45;
- push_angle_x += (b_z - d_z) * 45;
+ push_angle_x = (a_z - c_z) * _max;
+ push_angle_x += (b_z - d_z) * _max;
- push_angle_z = (b_z - a_z) * 45;
- push_angle_z += (d_z - c_z) * 45;
+ push_angle_z = (b_z - a_z) * _max;
+ push_angle_z += (d_z - c_z) * _max;
//self.angles_x += push_angle_x * 0.95;
//self.angles_z += push_angle_z * 0.95;