diff --git a/src/components/TrainsView/TrainInfo.vue b/src/components/TrainsView/TrainInfo.vue index e503229..e6b87fc 100644 --- a/src/components/TrainsView/TrainInfo.vue +++ b/src/components/TrainsView/TrainInfo.vue @@ -219,15 +219,23 @@ export default defineComponent({ stockSpeedLimit() { let isPassenger = true; - const vehicleMaxSpeed = this.train.stockList.reduce((acc, stockName) => { - const vehicleData = this.apiStore.vehiclesData?.find( - (v) => v.name == stockName.split(':')[0] - ); + const vehicleMaxSpeed = this.train.stockList.reduce((acc, stockName, i) => { + const [vehicleName, vehicleCargo] = stockName.split(':'); + + const vehicleData = this.apiStore.vehiclesData?.find((v) => v.name == vehicleName); if (!vehicleData) return acc; - if (vehicleData.type == 'wagon-freight') isPassenger = false; - const vehicleSpeed = vehicleData.group.speed; + let vehicleSpeed = vehicleData.group.speed; + + if (vehicleData.type == 'wagon-freight') { + isPassenger = false; + + if (vehicleCargo !== undefined && vehicleData.group.speedLoaded) { + vehicleSpeed = vehicleData.group.speedLoaded; + console.log('detected loaded', vehicleSpeed); + } + } return Math.min(vehicleSpeed, acc); }, Infinity); diff --git a/src/data/speedLimits.ts b/src/data/speedLimits.ts index 2546c4b..961499f 100644 --- a/src/data/speedLimits.ts +++ b/src/data/speedLimits.ts @@ -4,6 +4,9 @@ export const speedLimits: Record = { '650000': 125 }, cargo: { + '750000': 100, + '1000000': 90, + '1500000': 80, '2000000': 70 }, none: 110 @@ -13,6 +16,9 @@ export const speedLimits: Record = { '650000': 125 }, cargo: { + '750000': 100, + '1000000': 90, + '1500000': 80, '2000000': 70 }, none: 110 @@ -22,6 +28,9 @@ export const speedLimits: Record = { '650000': 125 }, cargo: { + '750000': 100, + '1000000': 90, + '1500000': 80, '2000000': 70 }, none: 110 @@ -65,6 +74,7 @@ export const speedLimits: Record = { }, cargo: { '1200000': 100, + '2000000': 80, '3100000': 70 }, none: 125 diff --git a/src/typings/common.ts b/src/typings/common.ts index 5af60af..a3784c2 100644 --- a/src/typings/common.ts +++ b/src/typings/common.ts @@ -229,6 +229,8 @@ export interface VehiclesGroup { id: number; name: string; speed: number; + speedLoaded?: number; + speedLoco?: number; length: number; weight: number; cargoTypes: VehicleCargo[] | null;