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]