The root node of your character should be KinematicBody instead of Spatial, there is bugs if the root node is not a physic node.
I made a tps template on top of your game level. The game runs fine, but the player controllers do hyper jump on floor big angle slopes :D
KinematicBody doesn't like distance change with move_and_slide() on big angle slopes.
This works fine
velocity.y += delta * gravity
This makes hyper jump on slopes
velocity.y += delta * gravity
if !is_on_floor():
velocity.y = velocity.y *1.5
The project GitHub download link :
https://github.com/DevMagicLord/Godot3/tree/master/bugs
You can submit a bug on Godot GitHub about move_and_slide() bug on your game level.
I think there is two bugs :
is_on_floor()
is some sort of hack and can't work because there is micro contact variation when your floor is level is not planar but a terrain mesh with slopes. Raycast is the best way to detect floor.
move_and_slide()
hyper jumps because there is some parameter value change when it is on some slope
Perhaps you should use move_and_collide() instead.