//*******************************************************
// -- DEFINES --
//*******************************************************
#define animate skill31
#define animate2 skill32
#define animblend skill33
#define currentframe skill34
#define blendframe skill35
#define nullframe -2
#define blend -1
#define stand 0
#define run 1
#define walk 2
#define jump 3
#define fall 4
#define crouch 5
#define stand_aim 6
// Movement speed constants
#define run_speed 18
#define strafe_speed 12
#define run_animation_speed 16
//*******************************************************
// -- HANDLE ANIMATION -- function
//*******************************************************
function handle_animation(animation_speed)
{
while(1){
if (animation_speed <= 0) animation_speed = 1;
if (my.animblend != blend && my.blendframe != nullframe)
{
my.animate2 = 0;
my.animblend = blend;
}
if (my.animblend == blend)
{
if (my.currentframe == stand) ent_animate(my,"stand",my.animate,ANM_CYCLE);
if (my.currentframe == run) ent_animate(my,"run",my.animate,ANM_CYCLE);
if (my.currentframe == walk) ent_animate(my,"walk",my.animate,ANM_CYCLE);
if (my.currentframe == crouch) ent_animate(my,"crouchaim",my.animate,ANM_CYCLE);
if (my.currentframe == stand_aim) ent_animate(my,"standaim",my.animate,ANM_CYCLE);
if (my.blendframe == stand) ent_blend("stand",0,my.animate2);
if (my.blendframe == run) ent_blend("run",0,my.animate2);
if (my.blendframe == walk) ent_blend("walk",0,my.animate2);
if (my.blendframe == crouch) ent_blend("crouchaim",0,my.animate2);
if (my.blendframe == stand_aim) ent_blend("standaim",0,my.animate2);
my.animate2 += 45 * time_step;
if (my.animate2 >= 100)
{
my.animate = 0;
my.animblend = my.blendframe;
my.blendframe = nullframe;
}
}
if (my.animblend == stand)
{
ent_animate(my,"stand",my.animate,ANM_CYCLE);
my.animate += 1 * animation_speed * time_step;
my.animate %= 100;
my.currentframe = stand;
}
if (my.animblend == run)
{
ent_animate(my,"run",my.animate,ANM_CYCLE);
my.animate += 7 * animation_speed * time_step;
my.animate %= 100;
my.currentframe = run;
}
if (my.animblend == walk)
{
ent_animate(my,"walk",my.animate,ANM_CYCLE);
my.animate += 7 * animation_speed * time_step;
my.animate %= 100;
my.currentframe = walk;
}
if (my.animblend == crouch)
{
ent_animate(my,"crouchaim",my.animate,ANM_CYCLE);
my.animate += 7 * animation_speed * time_step;
my.animate %= 100;
my.currentframe = crouch;
}
if (my.animblend == stand_aim)
{
ent_animate(my,"standaim",my.animate,ANM_CYCLE);
my.animate += 7 * animation_speed * time_step;
my.animate %= 100;
my.currentframe = stand_aim;
}
wait(1);
}
}