I ask because I prefer to keep it, but it MAY degrade overall performance if there is LOTS of bullets in the air at once.
I'll give you the change, its simple.
Code:
if(you)    event_type = EVENT_ENTITY;    //hit an entity

becomes

if(you)
{
    if(you.push>me.push)  event_type = EVENT_ENTITY;    //hit an equal or larger entity
    else                  event_type = EVENT_IMPACT;    //hit a smaller or equal object
}


Another thing to try. At the start of "mg_action", YOU may be empty,
because ME may be empty in "fire_turrmg, I cant tell.
In which case, IGNORE_YOU in the c_move does nothing.
Put this line at the top of "mg_action" you = player; to remove this chance.

And another, IF your player-tank is a physics entity, try adding
phent_setgroup(me,2); at physics setup time to both player and any projectiles HE fires.
Members of the same physics group NEVER physics-COLLIDE WITH EACH OTHER.
It should allow you to drop the initial c_move at the start of firing things.


And let me know IF the manual event trigger works, please.

PS Answer. Yeah, if you call c_trace, c_move, or c_rotate (at least), they will all set
the YOU pointer to whoever they hit.
If YOU is null after a sucessful hit (c_trace <> zero), then the ME hit something that ISNT an entity.
Which means WED blocks (or terrains, I think).


"There is no fate but what WE make." - CEO Cyberdyne Systems Corp.
A8.30.5 Commercial