chore: subtracting loco weight for "obc. lok." cell

This commit is contained in:
2025-06-22 13:39:29 +02:00
parent 87f173a645
commit 59d694b233
7 changed files with 109 additions and 10 deletions
+25
View File
@@ -0,0 +1,25 @@
import { useApiStore } from '../stores/api.store';
export function useVehicleMixin() {
const apiStore = useApiStore();
/**
* Gets loco load (obc. lok.) in tons - effectively train mass without locomotive or lone locomotive / unit mass
*/
function getLocoLoad(trainMass: number, stockString: string) {
if (!apiStore.vehiclesData) return trainMass;
const stockArray = stockString.split(';');
const headUnitsNames = stockArray.slice(0, 3).filter((v) => /-\d{3,}$/.test(v));
if (headUnitsNames.length == 1 && stockArray.length == 1) return trainMass;
const headVehicleData = apiStore.vehiclesData.find((v) => v.name == headUnitsNames[0]);
if (!headVehicleData) return trainMass;
return Math.min(trainMass, trainMass - headVehicleData.group.weight);
}
return { getLocoLoad };
}