acceptable masses & speeds update

This commit is contained in:
2023-10-28 13:44:55 +02:00
parent 5ab1963117
commit 8cd43adff3
5 changed files with 36 additions and 39 deletions
+20
View File
@@ -0,0 +1,20 @@
import speedLimits from '../constants/speedLimits.json';
import massLimits from '../constants/massLimits.json';
export type SpeedLimitLocoType = keyof typeof speedLimits;
export type MassLimitLocoType = keyof typeof massLimits;
export function calculateSpeedLimit(locoType: SpeedLimitLocoType, stockMass: number, isTrainPassenger: boolean) {
const speedTable = speedLimits[locoType][isTrainPassenger ? 'passenger' : 'cargo'];
if (!speedTable) return undefined;
let speedLimit = 0;
for (const mass in speedTable) if (stockMass > Number(mass)) speedLimit = (speedTable as any)[mass];
return speedLimit;
}
export function calculateMassLimit(locoType: MassLimitLocoType, isTrainPassenger: boolean) {
return massLimits[locoType][isTrainPassenger ? 0 : 1] || 0;
}