NGC's SetObjGravityPRO() is a simple subtracted value. But, it is fairly easy to tweak this value to allow for acceleration, negative gravity, etc. I create an array that holds the gravity 'vector' of all my moving objects and apply a small acceleration to each value each loop. If a given object enters a zero gravity or anti-gravity area, it is easy to adjust their gravity vector and then submit all the various amounts to the the NGC system. When I check for collisions with the ground, I can apply individual falling damage, create a negative 'bounce' vector, or reset the vector to zero to the object can begin to fall again, etc.
--
TAZ