diff --git a/Sources/epoch_code/compile/vehicles/EPOCH_client_VehicleMaintananceCheck.sqf b/Sources/epoch_code/compile/vehicles/EPOCH_client_VehicleMaintananceCheck.sqf index 03db093e..f1630bc8 100644 --- a/Sources/epoch_code/compile/vehicles/EPOCH_client_VehicleMaintananceCheck.sqf +++ b/Sources/epoch_code/compile/vehicles/EPOCH_client_VehicleMaintananceCheck.sqf @@ -25,11 +25,11 @@ if (_veh iskindof "ebike_epoch") then { }; _wheelcounter = 0; { - _HitPointName = tolower _x; - _Hit = (getAllHitPointsDamage _veh) select 2 select _foreachindex; + _x params ["_searchedhit","_limit1","_limit2"]; + _searchedhit = tolower _searchedhit; { - _x params ["_searchedhit","_limit1","_limit2"]; - _searchedhit = tolower _searchedhit; + _HitPointName = tolower _x; + _Hit = (getAllHitPointsDamage _veh) select 2 select _foreachindex; if (_searchedhit isequalto _HitPointName) then { _wheel = ["wheel",_searchedhit] call bis_fnc_instring; if (_wheel) then { @@ -59,8 +59,8 @@ _wheelcounter = 0; }; }; }; - } foreach _VehicleRepairs; -} foreach ((getAllHitPointsDamage _veh) select 0); + } foreach ((getAllHitPointsDamage _veh) select 0); +} foreach _VehicleRepairs; _repairarrays = []; { diff --git a/Sources/epoch_code/compile/vehicles/EPOCH_client_VehicleMaintananceDo.sqf b/Sources/epoch_code/compile/vehicles/EPOCH_client_VehicleMaintananceDo.sqf index eed03fd5..193b658c 100644 --- a/Sources/epoch_code/compile/vehicles/EPOCH_client_VehicleMaintananceDo.sqf +++ b/Sources/epoch_code/compile/vehicles/EPOCH_client_VehicleMaintananceDo.sqf @@ -32,7 +32,7 @@ EPOCH_Vehicle_MaintainLock = true; switch _do do { case 'repair': { - _reqiredMat = ""; + _reqiredMat = "NONE"; _searchname = _hitpointname; if (["glass",_hitpointname] call Bis_fnc_instring) then { _searchname = "glass"; @@ -44,14 +44,16 @@ switch _do do { _reqiredMat = _repairmat; }; } foreach _VehicleRepairs; - if (_reqiredMat isequalto "") exitwith { + if (_reqiredMat isequalto "NONE") exitwith { ['Error - Can not find required Material',5] call Epoch_message; }; - if !(_reqiredMat in (magazines player)) exitwith { + if (!(_reqiredMat in (magazines player)) && !(_reqiredMat isequalto "")) exitwith { _line = format ['You need %1 to repair',_reqiredMat call EPOCH_itemDisplayName]; [_line,5] call Epoch_message; }; - player removemagazine _reqiredMat; + if !(_reqiredMat isequalto "") then { + player removemagazine _reqiredMat; + }; if (_hitpointname isequalto "glass") then { { if (["glass",tolower _x] call Bis_fnc_instring) then { @@ -64,7 +66,7 @@ switch _do do { }; }; case 'replace': { - _reqiredMat = ""; + _reqiredMat = "NONE"; _searchname = _hitpointname; if (["glass", _hitpointname] call Bis_fnc_instring) then { _searchname = "glass"; @@ -76,14 +78,16 @@ switch _do do { _reqiredMat = _replacemat; }; } foreach _VehicleRepairs; - if (_reqiredMat isequalto "") exitwith { + if (_reqiredMat isequalto "NONE") exitwith { ['Error - Can not find required Material',5] call Epoch_message; }; - if !(_reqiredMat in (magazines player)) exitwith { + if (!(_reqiredMat in (magazines player)) && !(_reqiredMat isequalto "")) exitwith { _line = format ['You need %1 to repair',_reqiredMat call EPOCH_itemDisplayName]; [_line,5] call Epoch_message; }; - player removemagazine _reqiredMat; + if !(_reqiredMat isequalto "") then { + player removemagazine _reqiredMat; + }; if (_hitpointname isequalto "glass") then { { if (["glass",tolower _x] call Bis_fnc_instring) then { diff --git a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp index 4b930e92..cb6b0a37 100644 --- a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp +++ b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp @@ -270,6 +270,20 @@ class VehMaintanance icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_SLG.paa"; tooltip = "Replace Winch"; }; + class RepairTireBike1 + { + condition = "'hitfwheel' in (EPOCH_VehicleRepairs select 0)"; + action = "[dyna_cursorTarget,'repair','hitfwheel'] spawn EPOCH_client_VehicleMaintananceDo"; + icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa"; + tooltip = "Repair 1st Wheel"; + }; + class RepairTireBike2 + { + condition = "'hitbwheel' in (EPOCH_VehicleRepairs select 0)"; + action = "[dyna_cursorTarget,'repair','hitbwheel'] spawn EPOCH_client_VehicleMaintananceDo"; + icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa"; + tooltip = "Repair 2nd Wheel"; + }; class RepairTire1 { condition = "'hitlfwheel' in (EPOCH_VehicleRepairs select 0)"; @@ -326,6 +340,20 @@ class VehMaintanance icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa"; tooltip = "Repair 4th Right Wheel"; }; + class ReplaceTireBike1 + { + condition = "'hitfwheel' in (EPOCH_VehicleRepairs select 2)"; + action = "[dyna_cursorTarget,'replace','hitfwheel'] spawn EPOCH_client_VehicleMaintananceDo"; + icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa"; + tooltip = "Replace 1st Wheel"; + }; + class ReplaceTireBike2 + { + condition = "'hitbwheel' in (EPOCH_VehicleRepairs select 2)"; + action = "[dyna_cursorTarget,'replace','hitbwheel'] spawn EPOCH_client_VehicleMaintananceDo"; + icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa"; + tooltip = "Replace 2nd Wheel"; + }; class ReplaceTire1 { condition = "'hitlfwheel' in (EPOCH_VehicleRepairs select 2)"; diff --git a/Sources/epoch_config/Configs/CfgEpochClient.hpp b/Sources/epoch_config/Configs/CfgEpochClient.hpp index b9605a5e..d52811ab 100644 --- a/Sources/epoch_config/Configs/CfgEpochClient.hpp +++ b/Sources/epoch_config/Configs/CfgEpochClient.hpp @@ -243,21 +243,25 @@ class CfgEpochClient VehicleRepairs[] = { // {Hitpoint, dmg to repair, dmg to replace, mat to repair, mat to replace} {"HitHull",0.33,0.66,"ItemScraps","ItemCorrugated"}, {"HitBody",0.33,1,"ItemScraps","ItemCorrugated"}, - {"HitLFWheel",0.33,1,"VehicleRepair","SpareTire"}, - {"HitLF2Wheel",0.33,1,"VehicleRepair","SpareTire"}, - {"HitLMWheel",0.33,1,"VehicleRepair","SpareTire"}, - {"HitLBWheel",0.33,1,"VehicleRepair","SpareTire"}, - {"HitRFWheel",0.33,1,"VehicleRepair","SpareTire"}, - {"HitRF2Wheel",0.33,1,"VehicleRepair","SpareTire"}, - {"HitRMWheel",0.33,1,"VehicleRepair","SpareTire"}, - {"HitRBWheel",0.33,1,"VehicleRepair","SpareTire"}, {"HitEngine",0.33,0.91,"EngineParts","EngineBlock"}, {"glass",0.33,1,"ItemGlass","ItemGlass"}, {"HitFuel",0.1,0.66,"ItemDuctTape","FuelTank"}, {"HitHRotor",0.33,1,"ItemCorrugated","ItemRotor"}, {"HitVRotor",0.33,1,"ItemCorrugated","ItemRotor"}, {"HitWinch",0.33,0.91,"ItemCables","ItemCables"}, - {"HitAvionics",0.33,0.91,"CircuitParts","CircuitParts"} + {"HitAvionics",0.33,0.91,"CircuitParts","CircuitParts"}, + // Wheels - Do not change the order (front to back wheels) here! + {"HitLFWheel",0.33,1,"VehicleRepair","SpareTire"}, + {"HitRFWheel",0.33,1,"VehicleRepair","SpareTire"}, + {"HitLF2Wheel",0.33,1,"VehicleRepair","SpareTire"}, + {"HitRF2Wheel",0.33,1,"VehicleRepair","SpareTire"}, + {"HitLMWheel",0.33,1,"VehicleRepair","SpareTire"}, + {"HitRMWheel",0.33,1,"VehicleRepair","SpareTire"}, + {"HitLBWheel",0.33,1,"VehicleRepair","SpareTire"}, + {"HitRBWheel",0.33,1,"VehicleRepair","SpareTire"}, + // Mountainbike wheels + {"HitFWheel",0.33,0.91,"",""}, + {"HitBWheel",0.33,0.91,"",""} }; // include configs