VE Lua Documentation

Press F to search!

getPartCondition

Definition


-- @/lua/vehicle/powertrain.lua:1032

local function getPartCondition(partTypeData)
  local canProvideIntegrityCondition = false
  local canProvideVisualCondition = false
  local powertrainCondition = {integrityValue = 1, integrityState = {}, visualValue = 1, visualState = {}}

  --skip any powertrain wear/damage for the time being, reenable later

  local relevantDevices = getPartRelevantDevices(partTypeData)
  for _, deviceData in ipairs(relevantDevices) do
    local device = M.getDevice(deviceData.device)
    if device and device.getPartCondition then
      local deviceIntegrityValue, deviceIntegrityState = device:getPartCondition(deviceData.subSystem)
      powertrainCondition.integrityState[deviceData.device] = deviceIntegrityState
      powertrainCondition.integrityValue = min(powertrainCondition.integrityValue, deviceIntegrityValue)

      canProvideIntegrityCondition = true
    end
  end

  return powertrainCondition, canProvideIntegrityCondition, canProvideVisualCondition
end

Callers

@/lua/vehicle/powertrain/supercharger.lua

local function getPartCondition()
  local integrityState = {
@/lua/vehicle/powertrain/cvtGearbox.lua

local function getPartCondition(device)
  local integrityState = {damageFrictionCoef = device.damageFrictionCoef, isBroken = device.isBroken}
@/lua/vehicle/powertrain/sequentialGearbox.lua

local function getPartCondition(device)
  local integrityState = {damageFrictionCoef = device.damageFrictionCoef, isBroken = device.isBroken}
@/lua/vehicle/powertrain/shaft.lua

local function getPartCondition(device)
  local integrityState = {damageFrictionCoef = device.damageFrictionCoef, isBroken = device.isBroken}
@/lua/vehicle/powertrain/hydraulicPump.lua

local function getPartCondition(device)
  local integrityState = {isBroken = device.isBroken}
@/lua/vehicle/partCondition.lua

  local powertrainCondition, canProvidePowertrainIntegrityCondition, canProvidePowertrainVisualCondition = powertrain.getPartCondition(partData)
  local energyStorageCondition, canProvideEnergyStorageIntegrityCondition, canProvideEnergyStorageVisualCondition = energyStorage.getPartCondition(partData)
  local powertrainCondition, canProvidePowertrainIntegrityCondition, canProvidePowertrainVisualCondition = powertrain.getPartCondition(partData)
  local energyStorageCondition, canProvideEnergyStorageIntegrityCondition, canProvideEnergyStorageVisualCondition = energyStorage.getPartCondition(partData)
  local jbeamCondition, canProvideBeamstateCondition = beamstate.getPartCondition(partId, partData)
  local energyStorageCondition, canProvideEnergyStorageIntegrityCondition, canProvideEnergyStorageVisualCondition = energyStorage.getPartCondition(partData)
  local jbeamCondition, canProvideBeamstateCondition = beamstate.getPartCondition(partId, partData)
  local paintCondition, canProvidePaintCondition = getPaintCondition(partId, partData)
@/lua/vehicle/energyStorage/pressureTank.lua

local function getPartCondition(storage)
  local integrityState = {
@/lua/vehicle/energyStorage.lua

local function getPartCondition(partTypeData)
  local relevantStorages = getPartRelevantStorages(partTypeData)
    if storage and storage.getPartCondition then
      local storageIntegrityValue, storageIntegrityState = storage:getPartCondition()
      energyStorageCondition.integrityState[relevantStorage] = storageIntegrityState
@/lua/vehicle/powertrain/splitShaft.lua

local function getPartCondition(device)
  local integrityState = {
@/lua/vehicle/controller/gauges/genericGauges.lua

local function getPartCondition(storage)
  local integrityState = {
@/lua/vehicle/powertrain/differential.lua

local function getPartCondition(device)
  local integrityState = {
@/lua/vehicle/powertrain/automaticGearbox.lua

local function getPartCondition(device)
  local integrityState = {
@/lua/vehicle/powertrain/combustionEngine.lua

local function getPartCondition(device, subSystem)
  if not subSystem then
  elseif subSystem == "turbocharger" then
    local integrityValue, integrityState = device.turbocharger.getPartCondition()
    return integrityValue, integrityState
  -- elseif subSystem == "supercharger" then
  --   local integrityValue, integrityState = device.supercharger.getPartCondition()
  --   return integrityValue, integrityState
@/lua/vehicle/powertrain/linearActuator.lua

local function getPartCondition(device)
  local integrityState = {damageFrictionCoef = device.damageFrictionCoef, isBroken = device.isBroken}
@/lua/vehicle/energyStorage/fuelTank.lua

local function getPartCondition(storage)
  local integrityState = {
@/lua/vehicle/powertrain/electricWinch.lua

local function getPartCondition(device)
  local integrityState = {damageFrictionCoef = device.damageFrictionCoef, isBroken = device.isBroken}
@/lua/vehicle/energyStorage/electricBattery.lua

local function getPartCondition(storage)
  local integrityState = {
@/lua/vehicle/powertrain/manualGearbox.lua

local function getPartCondition(device)
  local integrityState = {
@/lua/vehicle/powertrain/rangeBox.lua

local function getPartCondition(device)
  local integrityState = {damageFrictionCoef = device.damageFrictionCoef, isBroken = device.isBroken}
@/lua/vehicle/powertrain/torqueConverter.lua

local function getPartCondition(device)
  local integrityState = {damageLockupClutchTorqueCoef = device.damageLockupClutchTorqueCoef}
@/lua/vehicle/powertrain/hydraulicAccumulator.lua

local function getPartCondition(device)
  local integrityState = {isBroken = device.isBroken}
@/lua/vehicle/powertrain/frictionClutch.lua

local function getPartCondition(device)
  local integrityState = {
@/lua/vehicle/energyStorage/n2oTank.lua

local function getPartCondition(storage)
  local integrityState = {
@/lua/vehicle/powertrain.lua
    if device and device.getPartCondition then
      local deviceIntegrityValue, deviceIntegrityState = device:getPartCondition(deviceData.subSystem)
      powertrainCondition.integrityState[deviceData.device] = deviceIntegrityState
@/lua/vehicle/powertrain/centrifugalClutch.lua

local function getPartCondition(device)
  local integrityState = {
@/lua/vehicle/powertrain/dctGearbox.lua

local function getPartCondition(device)
  local integrityState = {
@/lua/vehicle/powertrain/turbocharger.lua

local function getPartCondition()
  local integrityState = {
@/lua/vehicle/powertrain/compressor.lua

local function getPartCondition(device)
  local integrityState = {isBroken = device.isBroken}
@/lua/vehicle/beamstate.lua

local function getPartCondition(partId, partTypeData)
  local canProvideCondition = false