From d2e1d5326372a5134df763c8287bfd38ba33ebfc Mon Sep 17 00:00:00 2001 From: Tyunge Date: Wed, 17 Apr 2024 08:04:35 -0400 Subject: [PATCH] Clamp Engine Loaded Torque --- lua/entities/acf_engine_update/init.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lua/entities/acf_engine_update/init.lua b/lua/entities/acf_engine_update/init.lua index 42577e835..b44baa1f4 100644 --- a/lua/entities/acf_engine_update/init.lua +++ b/lua/entities/acf_engine_update/init.lua @@ -778,9 +778,9 @@ function ENT:CalcRPM(SelfTbl) end if ( GearboxCount > 0 ) then GearboxRPM = GearboxRPM / GearboxCount - GearboxLoad = GearboxLoad / GearboxCount + -- GearboxLoad = GearboxLoad / GearboxCount end - + -- Calculate Engine Vacuum SelfTbl.EngineBrakeTorque = SelfTbl.Displacement * (SelfTbl.FlyRPM / 60) * (1 - Throttle) @@ -790,7 +790,7 @@ function ENT:CalcRPM(SelfTbl) -- Calculate Engine Speed @ Gearbox Load local SpeedDifference = math.max(0,GearboxRPM) - SelfTbl.FlyRPM - local EngineSpeed_Loaded = ( (SpeedDifference / 6) / SelfTbl.Inertia ) + local EngineSpeed_Loaded = math.Clamp( ( (SpeedDifference / 6) / SelfTbl.Inertia ), -SelfTbl.PeakTorque, SelfTbl.PeakTorque ) -- Mix Unloaded & Loaded Engine Speeds. local EngineSpeed = ( EngineSpeed_NoLoad * ( 1 - GearboxLoad ) ) + ( EngineSpeed_Loaded * GearboxLoad ) @@ -805,7 +805,6 @@ function ENT:CalcRPM(SelfTbl) end SelfTbl.FlyRPM = max( 0, SelfTbl.FlyRPM ) - SelfTbl.FlywheelInertiaTorque = (SelfTbl.FlyRPM - SelfTbl.SpeedChange) / 60 SelfTbl.SpeedChange = SelfTbl.FlyRPM