From 17d90c2699c07b5d9039e9a2219e0c89047d67fe Mon Sep 17 00:00:00 2001 From: snoutie Date: Thu, 6 Mar 2025 19:14:55 +0100 Subject: [PATCH] Only Restore Damaged When Vehicle Value is Reduced --- lua/ge/extensions/career/vehicleRetrieval.lua | 12 ++++++++++-- lua/ge/extensions/career/vehicleSaveSystem.lua | 5 +---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/lua/ge/extensions/career/vehicleRetrieval.lua b/lua/ge/extensions/career/vehicleRetrieval.lua index c28d7a9..a20b3dd 100644 --- a/lua/ge/extensions/career/vehicleRetrieval.lua +++ b/lua/ge/extensions/career/vehicleRetrieval.lua @@ -16,7 +16,7 @@ local M = {} M.dependencies = { 'career_modules_inventory', 'freeroam_facilities', "career_vehicleSaveSystem", - "career_modules_permissions" } + "career_modules_permissions", 'career_modules_valueCalculator' } local career_modules_inventory_removeVehicleObject local vehicleObjectsToRemove = {} @@ -34,6 +34,10 @@ local function Retrieve(inventoryId) if not career_vehicleSaveSystem.SaveVehicle(inventoryId) then career_vehicleSaveSystem.QueuedVehicleSaved(inventoryId) end + + local vehicleValue = career_modules_valueCalculator.getInventoryVehicleValue(inventoryId, true) + local currentVehicleValue = career_modules_valueCalculator.getInventoryVehicleValue(inventoryId) + career_vehicleSaveSystem.CheckSavedAsync(function() extensions.core_jobsystem.create( function(job) @@ -42,7 +46,11 @@ local function Retrieve(inventoryId) local location = { pos = veh:getPosition(), rot = quat(0, 0, 1, 0) * quat(veh:getRefNodeRotation()) } local garage = career_modules_inventory.getClosestGarage(location.pos) job.sleep(1) - career_vehicleSaveSystem.LoadVehicle(inventoryId) + if currentVehicleValue < vehicleValue then + career_vehicleSaveSystem.LoadVehicle(inventoryId) + else + log('I', 'retrieval', 'retrieving vehicle ' .. inventoryId .. " in an undamaged state") + end freeroam_facilities.teleportToGarage(garage.id, veh, false) end) end diff --git a/lua/ge/extensions/career/vehicleSaveSystem.lua b/lua/ge/extensions/career/vehicleSaveSystem.lua index 335e9a1..89c1fcb 100644 --- a/lua/ge/extensions/career/vehicleSaveSystem.lua +++ b/lua/ge/extensions/career/vehicleSaveSystem.lua @@ -15,7 +15,7 @@ local M = {} -M.dependencies = { 'career_career', 'career_saveSystem', 'career_modules_inventory', 'career_modules_insurance' } +M.dependencies = { 'career_career', 'career_saveSystem', 'career_modules_inventory' } local extensionName = "career_vehicleSaveSystem" local vehicleSaves_temp = "/temp/career/vehicle_saves" @@ -116,9 +116,6 @@ local function SaveVehicle(inventoryId) end local function LoadVehicle(inventoryId) - if not career_modules_insurance.inventoryVehNeedsRepair(inventoryId) then - return - end local saveFile = GetVehicleSaveFile(vehicleSaves_temp, inventoryId) local vehicleId = career_modules_inventory.getVehicleIdFromInventoryId(inventoryId)