@inglorious/utils
Version:
A set of general-purpose utility functions designed with functional programming principles in mind.
31 lines (25 loc) • 926 B
JavaScript
/**
* @typedef {import("../../types/math").Vector3} Vector3
*/
/* eslint-disable no-magic-numbers */
const DEFAULT_MAX_JUMP = 0 // Default maximum jump height.
const DEFAULT_MAX_LEAP = 0 // Default maximum leap distance.
const DEFAULT_MAX_SPEED = 0 // Default maximum speed.
/**
* Calculates the vertical velocity (vy) of a jump
* based on the provided parameters.
* @param {Object} params - Parameters for the jump calculation.
* @param {number} params.maxJump - Maximum jump height. Defaults to 0.
* @param {number} params.maxLeap - Maximum leap distance. Defaults to 0.
* @param {number} params.maxSpeed - Maximum speed. Defaults to 0.
* @returns {number} The computed vertical velocity (vy).
*/
export function jump(params) {
let {
maxJump = DEFAULT_MAX_JUMP,
maxLeap = DEFAULT_MAX_LEAP,
maxSpeed = DEFAULT_MAX_SPEED,
} = params
const vy = (2 * maxJump * maxSpeed) / maxLeap
return vy
}