When a player hits an object, if the magnitude of their velocity [1] is above or equal to the value of the minImpactSpeed field on the playertype, it calls playerDataBlockObject::onImpact. Otherwise, it calls playerDataBlockObject::onCollision. In ::onImpact, if it should deal falling damage (taking $Pref::Server::FallingDamage, mini-game falling damage, etc. into account) then it applies a specific amount of damage [2] to the player.
[1] vectorLen(velocity).
[2] The magnitude of their velocity multiplied by the value of the speedDamageScale field on the playertype.