--(By Jesus.B)

//Water Running

addHook("PlayerThink", function(player)
if player.hrspeed == nil then player.hrspeed = 0 return end
if player.mo
and player.mo.valid

player.hrspeed = FixedMul(player.normalspeed, player.mo.scale)
end
end)

addHook("PlayerThink", function(player) 
if player.mo
and player.mo.valid
and not (skins[player.mo.skin].flags & SF_RUNONWATER)
and player.speed >= FixedMul(50*FRACUNIT, player.mo.scale)

player.charflags = $|SF_RUNONWATER
end
end)

addHook("PlayerThink", function(player)
if player.mo
and player.mo.valid
and not (skins[player.mo.skin].flags & SF_RUNONWATER)
and player.speed < FixedMul(50*FRACUNIT, player.mo.scale)

player.charflags = $ & ~SF_RUNONWATER
end
end)

//Momentum itself

addHook("PlayerThink", function(player)
if player.mo and player.mo.valid
and player.speed > player.hrspeed
and P_IsObjectOnGround(player.mo)
and (player.cmd.forwardmove or player.cmd.sidemove)
and not (player.pflags & PF_STARTDASH)
and not (player.pflags & PF_SPINNING)

player.mo.friction = FRACUNIT
end
end)