ENTITY* ent_glob_leader;
ENTITY* ent_glob_follower_a;
ENTITY* ent_glob_follower_b;
ENTITY* ent_glob_follower_c;
action leader()
{
VECTOR vec_next_node;
ent_glob_leader=me;
path_set(my,"path_000");
/////////////////////////////////////////////////////////////////////
my.NODE_NEXT=path_nextnode(my,1,1); // SET THE NODE
while(1)
{
// PATH NODE DETECTION AND RANDOMIZATION AND FACING //////////////////////////////////
if(vec_dist(my.x,vec_next_node.x) < my.max_x)
{
my.NODE_NEXT=path_nextnode(my,my.NODE_NEXT,1); // Grab Next node on new path -- NOTE ALL PATHS MUST HAVE THE SAME NUM NODE IN SAME GEN LOCATIO
}
path_getnode(my,my.NODE_NEXT,vec_next_node,NULL); // Get next node actual vector location
vec_to_angle(my.pan,vec_diff(NULL,vec_next_node,my.x)); // face the new node
///////////////////////////////////////////////////////////////////////////
// SOFT AND HARD MOVEMENTs /////////////////////////////////////////////////////////////
c_move(my,vector(my.skill3*time_step,0,0),nullvector,GLIDE | IGNORE_PASSABLE);
wait(1);
}
}
action follower_a()
{
VECTOR vec_next_node;
ent_glob_follower_a=me;
path_set(my,"path_000");
/////////////////////////////////////////////////////////////////////
my.NODE_NEXT=path_nextnode(my,ent_glob_leader.NODE_NEXT-1,1); // SET THE NODE
while(1)
{
// PATH NODE DETECTION AND RANDOMIZATION AND FACING //////////////////////////////////
if(vec_dist(my.x,vec_next_node.x) < my.max_x)
{
my.NODE_NEXT=path_nextnode(my,my.NODE_NEXT,1); // Grab Next node on new path -- NOTE ALL PATHS MUST HAVE THE SAME NUM NODE IN SAME GEN LOCATIO
}
path_getnode(my,my.NODE_NEXT,vec_next_node,NULL); // Get next node actual vector location
vec_to_angle(my.pan,vec_diff(NULL,vec_next_node,my.x)); // face the new node
///////////////////////////////////////////////////////////////////////////
// SOFT AND HARD MOVEMENTs /////////////////////////////////////////////////////////////
c_move(my,vector(my.skill3*time_step,0,0),nullvector,GLIDE | IGNORE_PASSABLE);
wait(1);
}
}
action follower_b()
{
VECTOR vec_next_node;
ent_glob_follower_b=me;
path_set(my,"path_000");
/////////////////////////////////////////////////////////////////////
my.NODE_NEXT=path_nextnode(my,ent_glob_follower_a.NODE_NEXT-1,1); // SET THE NODE
while(1)
{
// PATH NODE DETECTION AND RANDOMIZATION AND FACING //////////////////////////////////
if(vec_dist(my.x,vec_next_node.x) < my.max_x)
{
my.NODE_NEXT=path_nextnode(my,my.NODE_NEXT,1); // Grab Next node on new path -- NOTE ALL PATHS MUST HAVE THE SAME NUM NODE IN SAME GEN LOCATIO
}
path_getnode(my,my.NODE_NEXT,vec_next_node,NULL); // Get next node actual vector location
vec_to_angle(my.pan,vec_diff(NULL,vec_next_node,my.x)); // face the new node
///////////////////////////////////////////////////////////////////////////
// SOFT AND HARD MOVEMENTs /////////////////////////////////////////////////////////////
c_move(my,vector(my.skill3*time_step,0,0),nullvector,GLIDE | IGNORE_PASSABLE);
wait(1);
}
}
action follower_c()
{
VECTOR vec_next_node;
ent_glob_follower_c=me;
path_set(my,"path_000");
/////////////////////////////////////////////////////////////////////
my.NODE_NEXT=path_nextnode(my,ent_glob_follower_b.NODE_NEXT-1,1); // SET THE NODE
while(1)
{
// PATH NODE DETECTION AND RANDOMIZATION AND FACING //////////////////////////////////
if(vec_dist(my.x,vec_next_node.x) < my.max_x)
{
my.NODE_NEXT=path_nextnode(my,my.NODE_NEXT,1); // Grab Next node on new path -- NOTE ALL PATHS MUST HAVE THE SAME NUM NODE IN SAME GEN LOCATIO
}
path_getnode(my,my.NODE_NEXT,vec_next_node,NULL); // Get next node actual vector location
vec_to_angle(my.pan,vec_diff(NULL,vec_next_node,my.x)); // face the new node
///////////////////////////////////////////////////////////////////////////
// SOFT AND HARD MOVEMENTs /////////////////////////////////////////////////////////////
c_move(my,vector(my.skill3*time_step,0,0),nullvector,GLIDE | IGNORE_PASSABLE);
wait(1);
}
}