define scan_mode,skill1;
define speed_x,skill2;
define speed_y,skill3;
define scan_pushable,987.654; // a unique number
function push_me();
action push_able
{
my.scan_mode = scan_pushable;
my.enable_impact = on;
my.event = push_me;
}
function push_me()
{
if(!you) {return;}
if(you.z > my.z+my.max_z){return;}
if(you.scan_mode == scan_pushable)
{
my.speed_x = you.speed_x;
my.speed_y = you.speed_y;
}
else
{
my.speed_x = fcos(you.pan,5*0.9*time);
my.speed_y = fsin(you.pan,5*0.9*time);
}
move_mode = ignore_passable+glide;
ent_move(nullvector,vector(my.speed_x,my.speed_y,0));
}