What you are looking for is called "ACTIVATE_PUSH". You'll find it in the manual under c_move.

c_move(me, vector(25*time_step, 0, 0), nullvector, IGNORE_PASSABLE | ACTIVATE_PUSH);
You do not have to set a push value!

Now put sth. like this in your collision event:
Code:
function damage_enemies_only()
{
	if(event_type == EVENT_PUSH)
	{
		if (your.side == 3)
		return(0);
	}
	if(event_type == EVENT_ENTITY && your.side != 3)
	{
		your.health -= 10;
		my.alive = 0;
	}
}



I never understood why you would want to use IGNORE_FLAG2 since entities become either passable or obstacles. Which is not a sohpisticated differentiation.
Ok, I hope this helps.

Good luck!

Last edited by SomebodyNew; 10/08/09 15:29.