VE Lua Documentation

Press F to search!

beamBroke

Definition


-- @/lua/vehicle/wheels.lua:119

local function beamBroke(id)
  local beamName = v.data.beams[id].name
  if not beamName or not axleBeamLookup[beamName] then
    return
  end

  for _, v in ipairs(axleBeamLookup[beamName]) do
    local wd = M.wheelRotators[v]
    if not wd.isBroken then
      wd.isBroken = true
      wd.propulsionTorque = 0
      wd.brakingTorque = 0
      wd.desiredBrakingTorque = 0
      wd.desiredMainBrakingTorque = 0
      wd.lastABSCoef = 0
      wd.angularVelocity = 0
      wd.angularVelocityBrakeCouple = 0
      obj:setWheelTorqueAndBrakeTorque(wd.cid, 0, 0)
      damageTracker.setDamage("wheels", wd.name, true)
      -- Brake damage
      damageTracker.setDamage("wheels", "brake" .. wd.name, true)
      if wd.rotatorType == "wheel" then
        M.wheelCount = M.wheelCount - 1
        invWheelCount = M.wheelCount > 0 and 1 / M.wheelCount or 0
        if wd.isSpeedo == 1 then
          speedoWheelCount = speedoWheelCount - 1
          invSpeedoWheelCount = speedoWheelCount > 0 and 1 / speedoWheelCount or 0
        end
      elseif wd.rotatorType == "rotator" then
        M.rotatorCount = M.rotatorCount - 1
      end
    end
  end
end

Callers

@/lua/vehicle/energyStorage.lua

local function beamBroke(id)
  if not breakTriggerBeams[id] then
@/lua/vehicle/powertrain/combustionEngineThermals.lua

local function beamBroke(id)
  if exhaustBeams and exhaustBeams[id] then
@/lua/vehicle/powertrain/combustionEngine.lua

local function beamBroke(device, id)
  device.thermals.beamBroke(id)
local function beamBroke(device, id)
  device.thermals.beamBroke(id)
end
@/lua/vehicle/controller.lua

local function beamBroke(id, energy)
  for i = 1, beamBrokenCount, 1 do
      if controller.beamBroke ~= nil then
        print("  sortedControllers[" .. i .. "].beamBroke(id, energy) -- " .. tostring(controller.typeName))
      end
@/lua/vehicle/powertrain.lua

local function beamBroke(id)
  for i = 1, beamBrokenEventCount, 1 do
  for i = 1, beamBrokenEventCount, 1 do
    powertrainDevices[beamBrokenEvents[i]]:beamBroke(id)
  end
@/lua/vehicle/bdebug.lua
    M.nodeCollision = function(p) bdebugImpl.nodeCollision(p) end
    M.beamBroke = function(id, energy) bdebugImpl.beamBroke(id, energy) end
    M.debugDraw = function(focusPos) bdebugImpl.debugDraw(focusPos) end
@/lua/vehicle/main.lua
  beamstate.beamBroken(id, energy)
  wheels.beamBroke(id)
  powertrain.beamBroke(id)
  wheels.beamBroke(id)
  powertrain.beamBroke(id)
  energyStorage.beamBroke(id)
  powertrain.beamBroke(id)
  energyStorage.beamBroke(id)
  controller.beamBroke(id, energy)
  energyStorage.beamBroke(id)
  controller.beamBroke(id, energy)
  bdebug.beamBroke(id, energy)
  controller.beamBroke(id, energy)
  bdebug.beamBroke(id, energy)
  extensions.hook("onBeamBroke", id, energy)
@/lua/vehicle/bdebugImpl.lua

local function beamBroke(id, energy)
  local beam = v.data.beams[id]