action i_rocket()
{
var dist;
var dist2 = 100;
var destroyme = 0;
my.skill2 = 0;
my.skill1 = reedeem2;
if(reedeem2 == 1){reedeem2 = 2;}
else{reedeem2 = 1;}
ENTITY* close_ent;
VECTOR* myTemp;
set(my, PASSABLE);
while(my.skill2 < 50)
{
if(my.skill1 == 1)
{
c_move(my, vector(0,-40*time_step,0), nullvector, NULL);
my.pan += 4*time_step;
}
if(my.skill1 == 2)
{
c_move(my, vector(0,-40*time_step,0), nullvector, NULL);
my.pan -= 4*time_step;
}
rocketeer();
my.skill2 += 1;
wait(1);
}
dist = 100000; //maximum dist that the rocket can 'see' entities at
while(dist2 > 30 && my.x > -1600 && my.x < 1600 && my.y > -500 && my.y < 5000)
{
you = ent_next(NULL); // retrieve first entity
while(you) // repeat until there are no more entities
{
if(you.skill99 >= 5)
{
if(vec_dist(my.x,you.x) < dist)
{
dist = vec_dist(my.x,you.x);
dist2 = vec_dist(my.x,you.x);
close_ent = you;
}
}
you = ent_next(you); // get next entity
wait(1);
}
if(close_ent != NULL)
{
while(dist2 > 30 && my.x > -1600 && my.x < 1600 && my.y > -500 && my.y < 5000)
{
dist2 = vec_dist(my.x, close_ent.x);
// vec_set(temp, close_ent.x);
vec_diff(myTemp,close_ent.x,my.x);
vec_to_angle(my.pan,myTemp);
my.pan += 90;
c_move(my, vector(80*time_step,0,0), nullvector, NULL);
rocketeer();
my.z = 0;
wait(1);
}
}
wait(1);
}
// exploding_1(my);
wait(1);
ent_remove(my);
}