33 lines
671 B
JavaScript
33 lines
671 B
JavaScript
const combatSpeed = {
|
|
attack: 1,
|
|
movement: 1,
|
|
};
|
|
|
|
export function getAttackSpeedMultiplier() {
|
|
return combatSpeed.attack;
|
|
}
|
|
|
|
export function getMovementSpeedMultiplier() {
|
|
return combatSpeed.movement;
|
|
}
|
|
|
|
export function setCombatSpeedMultipliers({ attack, movement }) {
|
|
if (attack !== undefined) {
|
|
combatSpeed.attack = validMultiplier(attack);
|
|
}
|
|
|
|
if (movement !== undefined) {
|
|
combatSpeed.movement = validMultiplier(movement);
|
|
}
|
|
}
|
|
|
|
function validMultiplier(value) {
|
|
const multiplier = Number(value);
|
|
|
|
if (!Number.isFinite(multiplier) || multiplier <= 0) {
|
|
throw new Error(`Invalid speed multiplier: ${value}`);
|
|
}
|
|
|
|
return multiplier;
|
|
}
|