// sword trail effect
//***********************************************************************************************************
ENTITY* trail1;
////////////////
function sw_Trail_ctrl()
{
VECTOR trailpos1;
VECTOR trailpos2;
VECTOR trailpos3;
VECTOR trailpos4;
VECTOR trailpos5;
VECTOR trailpos6;
VECTOR trailpos7;
VECTOR trailpos8;
VECTOR trailpos9;
VECTOR trailpos10;
trail1 = ent_create("trail1mdl.mdl",me.x,NULL);
set(trail1,PASSABLE);
var trail_length = 2; // adjust length of the trails
vec_set(trailpos10,nullvector);
vec_set(trailpos9,nullvector);
vec_set(trailpos8,nullvector);
vec_set(trailpos7,nullvector);
vec_set(trailpos6,nullvector);
vec_set(trailpos5,nullvector);
vec_set(trailpos4,nullvector);
vec_set(trailpos3,nullvector);
vec_set(trailpos2,nullvector);
vec_set(trailpos1,nullvector);
while(1)
{
vec_for_vertex(trailpos2,me,46); // vertex # for top of blade
vec_for_vertex(trailpos1,me,28); // vertex # for bottom of blade
//vec_set(trail1.x,my.x);
vec_lerp(trailpos10,trailpos10,trailpos8,time_step/trail_length);
vec_lerp(trailpos9,trailpos9,trailpos7,time_step/trail_length);
vec_lerp(trailpos8,trailpos8,trailpos6,time_step/trail_length);
vec_lerp(trailpos7,trailpos7,trailpos5,time_step/trail_length);
vec_lerp(trailpos6,trailpos6,trailpos4,time_step/trail_length);
vec_lerp(trailpos5,trailpos5,trailpos3,time_step/trail_length);
vec_lerp(trailpos4,trailpos4,trailpos2,time_step/trail_length);
vec_lerp(trailpos3,trailpos3,trailpos1,time_step/trail_length);
vec_to_mesh(trailpos1,trail1,19);
vec_to_mesh(trailpos2,trail1,20);
vec_to_mesh(trailpos3,trail1,17);
vec_to_mesh(trailpos4,trail1,18);
vec_to_mesh(trailpos5,trail1,16);
vec_to_mesh(trailpos6,trail1,15);
vec_to_mesh(trailpos7,trail1,13);
vec_to_mesh(trailpos8,trail1,14);
vec_to_mesh(trailpos9,trail1,12);
vec_to_mesh(trailpos10,trail1,11);
vec_to_mesh(trailpos1,trail1,2);
vec_to_mesh(trailpos2,trail1,1);
vec_to_mesh(trailpos3,trail1,4);
vec_to_mesh(trailpos4,trail1,3);
vec_to_mesh(trailpos5,trail1,5);
vec_to_mesh(trailpos6,trail1,6);
vec_to_mesh(trailpos7,trail1,8);
vec_to_mesh(trailpos8,trail1,7);
vec_to_mesh(trailpos9,trail1,9);
vec_to_mesh(trailpos10,trail1,10);
wait(1);
}
}