self.anim_forwardleft = animfixfps(self, '20 1 1');
self.anim_backright = animfixfps(self, '21 1 1');
self.anim_backleft = animfixfps(self, '22 1 1');
- self.anim_melee = animfixfps(self, '23 1 1');
- self.anim_duckwalkbackwards = animfixfps(self, '24 1 1');
+ self.anim_melee = animfixfps2(self, '23 1 1', '11 1 5');
+ self.anim_duckwalkbackwards = animfixfps2(self, '24 1 1', '4 1 1');
+ self.anim_duckwalkstrafeleft = animfixfps2(self, '25 1 1', '4 1 1');
+ self.anim_duckwalkstraferight = animfixfps2(self, '26 1 1', '4 1 1');
+ self.anim_duckwalkforwardright = animfixfps2(self, '27 1 1', '4 1 1');
+ self.anim_duckwalkforwardleft = animfixfps2(self, '28 1 1', '4 1 1');
+ self.anim_duckwalkbackright = animfixfps2(self, '29 1 1', '4 1 1');
+ self.anim_duckwalkbackleft = animfixfps2(self, '30 1 1', '4 1 1');
// TODO introspect models for finding right "fps" value (1/duration)
// reset animstate now
setanim(self, self.anim_idle, TRUE, FALSE, TRUE);
}
else if (self.crouch)
{
- if (self.movement_x < 0)
- setanim(self, self.anim_duckwalkbackwards, TRUE, FALSE, FALSE);
- else if (self.movement_x * self.movement_x + self.movement_y * self.movement_y > 20)
+ if (self.movement_x > 0 && self.movement_y == 0)
setanim(self, self.anim_duckwalk, TRUE, FALSE, FALSE);
+ else if (self.movement_x < 0 && self.movement_y == 0)
+ setanim(self, self.anim_duckwalkbackwards, TRUE, FALSE, FALSE);
+ else if (self.movement_x == 0 && self.movement_y > 0)
+ setanim(self, self.anim_duckwalkstraferight, TRUE, FALSE, FALSE);
+ else if (self.movement_x == 0 && self.movement_y < 0)
+ setanim(self, self.anim_duckwalkstrafeleft, TRUE, FALSE, FALSE);
+ else if (self.movement_x > 0 && self.movement_y > 0)
+ setanim(self, self.anim_duckwalkforwardright, TRUE, FALSE, FALSE);
+ else if (self.movement_x > 0 && self.movement_y < 0)
+ setanim(self, self.anim_duckwalkforwardleft, TRUE, FALSE, FALSE);
+ else if (self.movement_x < 0 && self.movement_y > 0)
+ setanim(self, self.anim_duckwalkbackright, TRUE, FALSE, FALSE);
+ else if (self.movement_x < 0 && self.movement_y < 0)
+ setanim(self, self.anim_duckwalkbackleft, TRUE, FALSE, FALSE);
else
setanim(self, self.anim_duckidle, TRUE, FALSE, FALSE);
}
.vector anim_draw; // player pulls out a weapon
// .vector anim_duck; // player crouches (from idle to duckidle)
.vector anim_duckwalk; // player walking while crouching
-.vector anim_duckwalkbackwards; // player walking while crouching
.vector anim_duckjump; // player jumping from a crouch
.vector anim_duckidle; // player idling while crouching
.vector anim_idle; // player standing
.vector anim_backright; // player running backward and right
.vector anim_backleft; // player running back and left
.vector anim_melee; // player doing the melee action
+.vector anim_duck; // player doing the melee action
+.vector anim_duckwalkbackwards;
+.vector anim_duckwalkstrafeleft;
+.vector anim_duckwalkstraferight;
+.vector anim_duckwalkforwardright;
+.vector anim_duckwalkforwardleft;
+.vector anim_duckwalkbackright;
+.vector anim_duckwalkbackleft;
// weapon animation vectors:
.vector anim_fire1;