u generally want to use convex polygonal hulls with PH_POLY. the way the physics engine works: objects intersect/touch each other and are pushed away so that they are only just touching, then whatever other forces are applied. the weird shape of the c_babe gives it trouble figuring out which way to move to fix the intersection.

the best way to solve this is to have an invisible model that represents that shape MOSTLY but keeping convex.

i suppose when you c_move into physics objects, the built in collision detection doesn't allow non-physics entities to hit physics entities (as the manual clearly points out), but then when the physics engine handles the physics-enabled entities it is moved to prevent the intersection. no forces are applied to it though.

the way it works: non-physics entities cannot hit physics entities, but physics entities can hit non-physics entities.

all your examples show:
Code:
};

at the end of your actions. the semi-colon afterwards is unnecessary, and i recommend you don't do it at all because if you ever move on to lite-C (most people will eventually, and it only takes about a day to work it out because it's basically the same) the compiler is more strict and will show up an error.

if you want a physics entity to react when being shot, you should enable events on the physics entities, and get them to apply a force to themselves when they "collide" with a bullet entity. if you do this, you should also get them to change a skill in the bullet/rocket entity to notify it that it has hit something and should destroy itself, because otherwise bullets and rockets will continue to travel through physics entities until they hit a wall or something.

this is still an ugly solution because the bullets move so fast, they often won't ever intersect a physics entity (that's why you only see slight movement). you should use c_trace instead with the bullets if you want to continue using physics entities.

hope this helps,

julz


Formerly known as JulzMighty.
I made KarBOOM!