The laser beams are models. They use c_move for their movement and collision detection. I have enabled event_entity and event_push for them. The physics object have their push value set to 99 and the laser beams' push is 1. Here is the event script:
Code:
function laserShotEvent()
{
if(event_type == event_entity || event_type == event_push)
{
if(you!=null)
{
if(you.ship_type!=laser_beam && you != my.creating_entity)
{
you.hit_points -= my.damage;
my.sound_handle = ent_playsound(my,snd_impact_1,350);
partFX_fireball();
my.passable = on;
my.alive = 0;
return;
}
return;
}
}
}
From the manual, entities with a lower push value are supposed to be run over by the higher push value entity. In a collision the lower push entity's event_push should be actived and you set to the entity that ran over it.
What actually happens is that the physics entities with higher push will not run over entities with lower push. They will act as if they hit an imovable object and bounce away.