From 1dc4d147beab67a0191ffe709ab12581ea54042c Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Mon, 3 Jul 2017 07:22:20 -0500 Subject: [PATCH 01/18] VUS #1 ItemInteractions for VehDoc's set for UPGRADE CfgVehicleUpgrade added for customizing materials needed Server function for upgrading vehicle CfgRemoteExec addition for server function above. --- .../epoch_code/compile/EPOCH_consumeItem.sqf | 40 +++++++ .../Configs/CfgItemInteractions.hpp | 12 +- .../epoch_config/Configs/CfgRemoteExec.hpp | 5 + .../Configs/CfgVehicleUpgrades.hpp | 110 ++++++++++++++++++ Sources/epoch_config/sandbox_config.hpp | 1 + .../EPOCH_server_upgrade_vehicle.sqf | 44 +++++++ Sources/epoch_server/config.cpp | 1 + 7 files changed, 209 insertions(+), 4 deletions(-) create mode 100644 Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp create mode 100644 Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf diff --git a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf index b9861600..db2a083f 100644 --- a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf +++ b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf @@ -309,6 +309,46 @@ switch _interactOption do { }; }; + case 15: { // Vehicle Upgrade + _canUpgrade = true; + _nearveh = nearestObjects[player,["Car","Truck","Heli","Boat","Plane"],15]; + if (_nearveh isequalto []) exitwith { + ["No Vehicle for upgrade found",5] call Epoch_message;_canUpgrade = false; + }; + _veh = _nearveh select 0; + _vehType = typeOf _veh; + _classUpgrade = isClass(configFile >> "cfgVehicles" >> _vehType >> "Upgrades"); + if!(_classUpgrade)exitWith{ + ["Vehicle can't be upgraded",5] call Epoch_message;_canUpgrade = false; + }; + _reqMaterials = getArray(missionConfigFile >> "CfgVehicleUpgrades" >> _vehType >> "ReqMaterials"); + _crypto = 0; + if(_reqMaterials isEqualTo [])exitWith{ + ["Required Materials list not found, report this error to an admin",5] call Epoch_message;_canUpgrade = false; + }; + { + if((_x select 1) isEqualTo "Crypto")then{ + _crypto = _x select 0; + }; + if(!((_x select 1) in (magazines player)) && !((_x select 1) isEqualTo "Crypto"))exitWith{ + [format["You do not have the required materials to upgrade your %1",_vehType],5] call Epoch_message;_canUpgrade = false; + }; + }forEach _reqMaterials; + if(_canUpgrade)then{ + { + _count = _x select 0; + _upgradeItem = _x select 1; + for "_i" from 1 to _count do{ + if!(_upgradeItem isEqualTo "Crypto")then{ + player removeItem _upgradeItem; + }; + }; + }forEach _reqMaterials; + _upgradeToVeh = getText(missionConfigFile >> "CfgVehicleUpgrades" >> _vehType >> "upgradeToVehicle"); + [[_veh,_upgradeToVeh,_crypto],player,Epoch_personalToken] remoteExec ["EPOCH_server_upgrade_vehicle",2]; + }; + }; + default { ["Found nothing", 5] call Epoch_message; }; diff --git a/Sources/epoch_config/Configs/CfgItemInteractions.hpp b/Sources/epoch_config/Configs/CfgItemInteractions.hpp index 12f27843..495aee7b 100644 --- a/Sources/epoch_config/Configs/CfgItemInteractions.hpp +++ b/Sources/epoch_config/Configs/CfgItemInteractions.hpp @@ -550,10 +550,14 @@ class CfgItemInteractions class ItemDoc6 : ItemDoc1 {}; class ItemDoc7 : ItemDoc1 {}; class ItemDoc8 : ItemDoc1 {}; - class ItemVehDoc1 : ItemDoc1 {}; - class ItemVehDoc2 : ItemDoc1 {}; - class ItemVehDoc3 : ItemDoc1 {}; - class ItemVehDoc4 : ItemDoc1 {}; + class ItemVehDoc1 + { + interactAction = 15; + interactText = "UPGRADE"; + }; + class ItemVehDoc2 : ItemVehDoc1 {}; + class ItemVehDoc3 : ItemVehDoc1 {}; + class ItemVehDoc4 : ItemVehDoc1 {}; class ItemBulb : Default {}; class ItemBurlap : Default {}; class ItemBriefcaseE : Default {}; diff --git a/Sources/epoch_config/Configs/CfgRemoteExec.hpp b/Sources/epoch_config/Configs/CfgRemoteExec.hpp index 99bbfa24..e4301d29 100644 --- a/Sources/epoch_config/Configs/CfgRemoteExec.hpp +++ b/Sources/epoch_config/Configs/CfgRemoteExec.hpp @@ -297,6 +297,11 @@ class CfgRemoteExec jip = 0; }; class EPOCH_server_makeSP + { + allowedTargets = 2; + jip = 0; + }; + class EPOCH_server_upgrade_vehicle { allowedTargets = 2; jip = 0; diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp new file mode 100644 index 00000000..254f817b --- /dev/null +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -0,0 +1,110 @@ +/* + @author = "Aaron Clark - https://EpochMod.com"; + @contributors[] = {"DirtySanchez"}; + @description = "Vehicle Upgrade configs"; + @licence = "Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike"; + @github = "https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgItemInteractions.hpp"; +*/ +class CfgVehicleUpgrades +{ + class C_Hatchback_01_EPOCH + { + ReqMaterials[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH1"; + }; + class C_Hatchback_01_EPOCH1 + { + ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH2"; + }; + class C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH3"; + }; + class C_Hatchback_01_EPOCH3 + { + ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH4"; + }; + class C_Hatchback_02_EPOCH + { + ReqMaterials[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; + upgradeToVehicle = "C_Hatchback_02_EPOCH1"; + }; + class C_Hatchback_02_EPOCH1 + { + ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; + upgradeToVehicle = "C_Hatchback_02_EPOCH2"; + }; + class C_Hatchback_02_EPOCH2 + { + ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "C_Hatchback_02_EPOCH3"; + }; + class C_Hatchback_02_EPOCH3 + { + ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; + upgradeToVehicle = "C_Hatchback_02_EPOCH4"; + }; + class C_Offroad_01_EPOCH + { + upgradeReqItems[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; + upgradeToVehicle = "C_Offroad_01_EPOCH1"; + }; + class C_Offroad_01_EPOCH1 + { + ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; + upgradeToVehicle = "C_Offroad_01_EPOCH2"; + }; + class C_Offroad_01_EPOCH2 + { + ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "C_Offroad_01_EPOCH3"; + }; + class C_Offroad_01_EPOCH3 + { + ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; + upgradeToVehicle = "C_Offroad_01_EPOCH4"; + }; + class C_SUV_01_EPOCH + { + upgradeReqItems[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; + upgradeToVehicle = "C_SUV_01_EPOCH1"; + }; + class C_SUV_01_EPOCH1 + { + ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; + upgradeToVehicle = "C_SUV_01_EPOCH2"; + }; + class C_SUV_01_EPOCH2 + { + ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "C_SUV_01_EPOCH3"; + }; + class C_SUV_01_EPOCH3 + { + ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; + upgradeToVehicle = "C_SUV_01_EPOCH4"; + }; + class B_G_Offroad_01_armed_EPOCH + { + upgradeReqItems[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; + upgradeToVehicle = "B_G_Offroad_01_armed_EPOCH1"; + }; + class B_G_Offroad_01_armed_EPOCH1 + { + ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; + upgradeToVehicle = "B_G_Offroad_01_armed_EPOCH2"; + }; + class B_G_Offroad_01_armed_EPOCH2 + { + ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "B_G_Offroad_01_armed_EPOCH3"; + }; + class B_G_Offroad_01_armed_EPOCH3 + { + ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; + upgradeToVehicle = "B_G_Offroad_01_armed_EPOCH4"; + }; +}; diff --git a/Sources/epoch_config/sandbox_config.hpp b/Sources/epoch_config/sandbox_config.hpp index 89db301d..53e5acca 100644 --- a/Sources/epoch_config/sandbox_config.hpp +++ b/Sources/epoch_config/sandbox_config.hpp @@ -74,6 +74,7 @@ disableRandomization[] = {"All"}; #include "Configs\CfgItemInteractions.hpp" #include "Configs\CfgSay3Dhandler.hpp" #include "Configs\CfgSwitchMovehandler.hpp" +#include "Configs\CfgVehicleUpgrades.hpp" // A3 specific configs #include "Configs\CfgFunctions.hpp" diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf new file mode 100644 index 00000000..f752331c --- /dev/null +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf @@ -0,0 +1,44 @@ +/* + Author: Aaron Clark - EpochMod.com + + Contributors: He-Man and DirtySanchez + + Description: + Upgrade vehicle + + Licence: + Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike +*/ +params [["_array",[]],["_player",objnull],["_token","",[""]]]; +if (_array isequalto []) exitwith { + diag_log "Array is empty"; +}; +if !([_player, _token] call EPOCH_server_getPToken) exitWith{ + diag_log "Tokencheck failed"; +}; +_array params [["_veh",objnull],["_UpgradeVeh",""],["_removeCrypto",[]]]; +if (isnull _veh) exitwith { + diag_log "Vehicle is null"; +}; +if (_UpgradeVeh isequalto "") exitwith { + diag_log "No Upgrade Vehicle Class"; +}; +if !(_removeCrypto isequalto []) && !(_removeCrypto isEqualTo 0) then { + [_player,-_removeCrypto] remoteExec ["EPOCH_server_effectCrypto",2]; +}; +_slot = _veh getvariable ["vehicle_slot","-1"]; +if (_slot isequalto "-1") exitwith { + diag_log "Vehicle has no Slot"; +}; +_pos = getposasl _veh; +_dir = getdir _veh; +deletevehicle _veh; +waituntil {isnull _veh}; +_pos set [2,(_pos select 2)+0.5]; +_veh = createVehicle [_UpgradeVeh, [random 500, random 500,500], [], 0, "CAN_COLLIDE"]; +_veh setVariable ["VEHICLE_SLOT", _slot, true]; +_veh call EPOCH_server_setVToken; +_veh call EPOCH_server_vehicleInit; +_veh setdir _dir; +_veh setposasl _pos; + diff --git a/Sources/epoch_server/config.cpp b/Sources/epoch_server/config.cpp index 2ea2d464..6eeb169b 100644 --- a/Sources/epoch_server/config.cpp +++ b/Sources/epoch_server/config.cpp @@ -94,6 +94,7 @@ class CfgServerFunctions class server_packStorage {}; class server_packJack {}; class spawn_vehicle {}; + class server_upgrade_vehicle {}; }; class epoch_server { class weightedArray {}; From 711e7aba06a390418c791d721720616132717523 Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Mon, 3 Jul 2017 07:35:42 -0500 Subject: [PATCH 02/18] Update VUS#1 Change call to configFile to new missionConfigFile CfgVehicleUpgrades. Add check for crypto client side before sent off to server for completion --- Sources/epoch_code/compile/EPOCH_consumeItem.sqf | 5 ++++- Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf index db2a083f..8309000c 100644 --- a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf +++ b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf @@ -317,7 +317,7 @@ switch _interactOption do { }; _veh = _nearveh select 0; _vehType = typeOf _veh; - _classUpgrade = isClass(configFile >> "cfgVehicles" >> _vehType >> "Upgrades"); + _classUpgrade = isClass(missionConfigFile >> "CfgVehicleUpgrades" >> _vehType); if!(_classUpgrade)exitWith{ ["Vehicle can't be upgraded",5] call Epoch_message;_canUpgrade = false; }; @@ -329,6 +329,9 @@ switch _interactOption do { { if((_x select 1) isEqualTo "Crypto")then{ _crypto = _x select 0; + if(EPOCH_playerCrypto < _crypto)exitWith{ + [format["You need %1 crypto to upgrade your %2", _crypto, _vehType],5] call Epoch_message;_canUpgrade = false; + }; }; if(!((_x select 1) in (magazines player)) && !((_x select 1) isEqualTo "Crypto"))exitWith{ [format["You do not have the required materials to upgrade your %1",_vehType],5] call Epoch_message;_canUpgrade = false; diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index 254f817b..69d21db3 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -107,4 +107,4 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; upgradeToVehicle = "B_G_Offroad_01_armed_EPOCH4"; }; -}; +}; \ No newline at end of file From 44eb34445db7450f1efa5dc0d1b21646d23040a1 Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Mon, 3 Jul 2017 07:40:47 -0500 Subject: [PATCH 03/18] Msg for missing item --- Sources/epoch_code/compile/EPOCH_consumeItem.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf index 8309000c..51dae6f8 100644 --- a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf +++ b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf @@ -334,7 +334,7 @@ switch _interactOption do { }; }; if(!((_x select 1) in (magazines player)) && !((_x select 1) isEqualTo "Crypto"))exitWith{ - [format["You do not have the required materials to upgrade your %1",_vehType],5] call Epoch_message;_canUpgrade = false; + [format["You do not have %1 to upgrade your %2", (_x select 1), _vehType],5] call Epoch_message;_canUpgrade = false; }; }forEach _reqMaterials; if(_canUpgrade)then{ From e906d29c9ce80431e3fef46191cb1f888b70ff6e Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Mon, 3 Jul 2017 15:59:40 -0500 Subject: [PATCH 04/18] More upgrades and new functions --- .../epoch_code/compile/EPOCH_consumeItem.sqf | 43 ----- .../functions/EPOCH_itemDisplayName.sqf | 3 + .../inventory/EPOCH_itemInteractClick.sqf | 17 ++ .../vehicles/EPOCH_client_upgradeVehicle.sqf | 65 +++++++ .../Configs/CfgClientFunctions.hpp | 1 + .../Configs/CfgItemInteractions.hpp | 12 +- .../Configs/CfgVehicleUpgrades.hpp | 164 ++++++++---------- .../EPOCH_server_makeNPCTrade.sqf | 9 +- .../epoch_vehicle/EPOCH_load_storage.sqf | 88 +--------- .../epoch_vehicle/EPOCH_load_vehicles.sqf | 87 +--------- .../epoch_vehicle/EPOCH_server_CargoFill.sqf | 78 +++++++++ .../epoch_vehicle/EPOCH_server_CargoSave.sqf | 66 +++++++ .../EPOCH_server_save_storage.sqf | 68 +------- .../EPOCH_server_save_vehicle.sqf | 74 +------- .../EPOCH_server_upgrade_vehicle.sqf | 75 +++++++- Sources/epoch_server/config.cpp | 2 + Sources/epoch_server/init/server_init.sqf | 2 +- .../configs/CfgEpochVehicles.h | 16 ++ 18 files changed, 414 insertions(+), 456 deletions(-) create mode 100644 Sources/epoch_code/compile/vehicles/EPOCH_client_upgradeVehicle.sqf create mode 100644 Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_CargoFill.sqf create mode 100644 Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_CargoSave.sqf diff --git a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf index 51dae6f8..4929c44d 100644 --- a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf +++ b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf @@ -308,49 +308,6 @@ switch _interactOption do { ["Unpacked backpack", 5] call Epoch_message; }; }; - - case 15: { // Vehicle Upgrade - _canUpgrade = true; - _nearveh = nearestObjects[player,["Car","Truck","Heli","Boat","Plane"],15]; - if (_nearveh isequalto []) exitwith { - ["No Vehicle for upgrade found",5] call Epoch_message;_canUpgrade = false; - }; - _veh = _nearveh select 0; - _vehType = typeOf _veh; - _classUpgrade = isClass(missionConfigFile >> "CfgVehicleUpgrades" >> _vehType); - if!(_classUpgrade)exitWith{ - ["Vehicle can't be upgraded",5] call Epoch_message;_canUpgrade = false; - }; - _reqMaterials = getArray(missionConfigFile >> "CfgVehicleUpgrades" >> _vehType >> "ReqMaterials"); - _crypto = 0; - if(_reqMaterials isEqualTo [])exitWith{ - ["Required Materials list not found, report this error to an admin",5] call Epoch_message;_canUpgrade = false; - }; - { - if((_x select 1) isEqualTo "Crypto")then{ - _crypto = _x select 0; - if(EPOCH_playerCrypto < _crypto)exitWith{ - [format["You need %1 crypto to upgrade your %2", _crypto, _vehType],5] call Epoch_message;_canUpgrade = false; - }; - }; - if(!((_x select 1) in (magazines player)) && !((_x select 1) isEqualTo "Crypto"))exitWith{ - [format["You do not have %1 to upgrade your %2", (_x select 1), _vehType],5] call Epoch_message;_canUpgrade = false; - }; - }forEach _reqMaterials; - if(_canUpgrade)then{ - { - _count = _x select 0; - _upgradeItem = _x select 1; - for "_i" from 1 to _count do{ - if!(_upgradeItem isEqualTo "Crypto")then{ - player removeItem _upgradeItem; - }; - }; - }forEach _reqMaterials; - _upgradeToVeh = getText(missionConfigFile >> "CfgVehicleUpgrades" >> _vehType >> "upgradeToVehicle"); - [[_veh,_upgradeToVeh,_crypto],player,Epoch_personalToken] remoteExec ["EPOCH_server_upgrade_vehicle",2]; - }; - }; default { ["Found nothing", 5] call Epoch_message; diff --git a/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf b/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf index 7f36be01..7782e183 100644 --- a/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf +++ b/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf @@ -37,4 +37,7 @@ if ([_item, "CfgVehicles"] call EPOCH_fnc_isAny) then { }; }; }; +if (_return isequalto "") then { + _return = _item; +}; _return; diff --git a/Sources/epoch_code/compile/inventory/EPOCH_itemInteractClick.sqf b/Sources/epoch_code/compile/inventory/EPOCH_itemInteractClick.sqf index db26c8d0..c76f0fd2 100644 --- a/Sources/epoch_code/compile/inventory/EPOCH_itemInteractClick.sqf +++ b/Sources/epoch_code/compile/inventory/EPOCH_itemInteractClick.sqf @@ -60,6 +60,23 @@ if (isClass (_config >> _data)) then { EPOCH_CraftingItem = ""; }; +_config = 'CfgVehicleUpgrades' call EPOCH_returnConfig; +if (isClass (_config >> _data)) then { + { + if (isclass (_config >> _data >> (typeof _x))) exitwith { + EPOCH_UpgradeVehicle = [_data,_x]; + _reqMaterials = getArray (_config >> _data >> (typeof _x) >> "ReqMaterials"); + _itemtxt = "required: "; + { + _itemtxt = _itemtxt + str (_x select 0) + ((_x select 1) call EPOCH_itemDisplayName) + ", "; + } foreach _reqMaterials; + _txt1 = format ["Upgrade %1", (typeof _x) call EPOCH_itemDisplayName]; + _txt2 = "EPOCH_UpgradeVehicle call EPOCH_Client_UpgradeVehicle;"; + _button_texts pushBack [_txt1,_txt2]; + }; + } foreach (nearestobjects [player,["Landvehicle","SHIP","AIR","TANK"],10]); +}; + if !(_button_texts isEqualTo []) then { _display = ctrlParent (_this select 0); _pos = getMousePosition; diff --git a/Sources/epoch_code/compile/vehicles/EPOCH_client_upgradeVehicle.sqf b/Sources/epoch_code/compile/vehicles/EPOCH_client_upgradeVehicle.sqf new file mode 100644 index 00000000..b31026d0 --- /dev/null +++ b/Sources/epoch_code/compile/vehicles/EPOCH_client_upgradeVehicle.sqf @@ -0,0 +1,65 @@ +if (isnil 'EPOCH_UpgradeVehicle') exitwith { + ["Upgrade failed - Error",5] call Epoch_message; +}; + +EPOCH_UpgradeVehicle params ["_data",["_veh",objnull]]; +EPOCH_UpgradeVehicle = nil; + +if (isnull _veh) exitwith { + ["Upgrade failed - Vehicle not found",5] call Epoch_message; +}; +if (player distance _veh > 12) exitwith { + ["Upgrade failed - Vehicle to far away",5] call Epoch_message; +}; +if !(local _veh) exitwith { + ["Upgrade failed - Go in as Driver first",5] call Epoch_message; +}; +if !(crew _veh isequalto []) exitwith { + ["Upgrade failed - All passengers must leave the Vehicle",5] call Epoch_message; +}; + +_vehType = typeOf _veh; + +_config = 'CfgVehicleUpgrades' call EPOCH_returnConfig; +_classUpgrade = gettext (_config >> _data >> _vehType >> "upgradeToVehicle"); +_reqMaterials = getArray (_config >> _data >> _vehType >> "ReqMaterials"); + +_crypto = 0; +if(_reqMaterials isEqualTo [])exitWith{ + ["Required Materials list not found, report this error to an admin",5] call Epoch_message; +}; +_hasall = true; +_missing = []; +{ + _x params ["_count","_item"]; + _has = 0; + if (_item isequalto "Crypto") then { + _has = Epoch_Playercrypto; + } + else { + _has = {_x == _item} count ((magazines player)+(items player)); + }; + if (_has < _count) then { + _missing pushback [_count-_has,_item]; + _hasall = false + }; +}forEach _reqMaterials; +if (!_hasall) exitwith { + _msg = 'Missing:'; + { + _msg = _msg + format [' %1 %2,', _x select 0, (_x select 1) call EPOCH_itemDisplayName]; + } foreach _missing; + [_msg,5] call Epoch_message; +}; +{ + _x params ["_count","_item"]; + if (_item isequalto "Crypto") then { + _crypto = _crypto + _count; + } + else { + for "_i" from 1 to _count do{ + player removeItem _item; + }; + }; +} forEach _reqMaterials; +[[_veh,_classUpgrade,_crypto],player,Epoch_personalToken] remoteExec ["EPOCH_server_upgrade_vehicle",2]; diff --git a/Sources/epoch_config/Configs/CfgClientFunctions.hpp b/Sources/epoch_config/Configs/CfgClientFunctions.hpp index 43d5bc54..bcb986e5 100644 --- a/Sources/epoch_config/Configs/CfgClientFunctions.hpp +++ b/Sources/epoch_config/Configs/CfgClientFunctions.hpp @@ -149,6 +149,7 @@ class CfgClientFunctions class client_lockVehicle {}; class client_fillVehicle {}; class client_gearVehicle {}; + class client_upgradeVehicle {}; }; class missions { diff --git a/Sources/epoch_config/Configs/CfgItemInteractions.hpp b/Sources/epoch_config/Configs/CfgItemInteractions.hpp index 495aee7b..12f27843 100644 --- a/Sources/epoch_config/Configs/CfgItemInteractions.hpp +++ b/Sources/epoch_config/Configs/CfgItemInteractions.hpp @@ -550,14 +550,10 @@ class CfgItemInteractions class ItemDoc6 : ItemDoc1 {}; class ItemDoc7 : ItemDoc1 {}; class ItemDoc8 : ItemDoc1 {}; - class ItemVehDoc1 - { - interactAction = 15; - interactText = "UPGRADE"; - }; - class ItemVehDoc2 : ItemVehDoc1 {}; - class ItemVehDoc3 : ItemVehDoc1 {}; - class ItemVehDoc4 : ItemVehDoc1 {}; + class ItemVehDoc1 : ItemDoc1 {}; + class ItemVehDoc2 : ItemDoc1 {}; + class ItemVehDoc3 : ItemDoc1 {}; + class ItemVehDoc4 : ItemDoc1 {}; class ItemBulb : Default {}; class ItemBurlap : Default {}; class ItemBriefcaseE : Default {}; diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index 69d21db3..3003d08d 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -7,104 +7,84 @@ */ class CfgVehicleUpgrades { - class C_Hatchback_01_EPOCH + class ItemVehDoc1 { - ReqMaterials[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; - upgradeToVehicle = "C_Hatchback_01_EPOCH1"; + class C_Hatchback_01_EPOCH + { + ReqMaterials[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH1"; + }; + class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_Hatchback_02_EPOCH1"; + }; + class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_Offroad_01_EPOCH1"; + }; + class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_SUV_01_EPOCH1"; + }; }; - class C_Hatchback_01_EPOCH1 + class ItemVehDoc2 { - ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; - upgradeToVehicle = "C_Hatchback_01_EPOCH2"; + class C_Hatchback_01_EPOCH1 + { + ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH2"; + }; + class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH2"; + }; + class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_Offroad_01_EPOCH2"; + }; + class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_SUV_01_EPOCH2"; + }; }; - class C_Hatchback_01_EPOCH2 + class ItemVehDoc3 { - ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; - upgradeToVehicle = "C_Hatchback_01_EPOCH3"; + class C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH3"; + }; + class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH3"; + }; + class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_Offroad_01_EPOCH3"; + }; + class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_SUV_01_EPOCH3"; + }; }; - class C_Hatchback_01_EPOCH3 + class ItemVehDoc4 { - ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; - upgradeToVehicle = "C_Hatchback_01_EPOCH4"; - }; - class C_Hatchback_02_EPOCH - { - ReqMaterials[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; - upgradeToVehicle = "C_Hatchback_02_EPOCH1"; - }; - class C_Hatchback_02_EPOCH1 - { - ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; - upgradeToVehicle = "C_Hatchback_02_EPOCH2"; - }; - class C_Hatchback_02_EPOCH2 - { - ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; - upgradeToVehicle = "C_Hatchback_02_EPOCH3"; - }; - class C_Hatchback_02_EPOCH3 - { - ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; - upgradeToVehicle = "C_Hatchback_02_EPOCH4"; - }; - class C_Offroad_01_EPOCH - { - upgradeReqItems[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; - upgradeToVehicle = "C_Offroad_01_EPOCH1"; - }; - class C_Offroad_01_EPOCH1 - { - ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; - upgradeToVehicle = "C_Offroad_01_EPOCH2"; - }; - class C_Offroad_01_EPOCH2 - { - ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; - upgradeToVehicle = "C_Offroad_01_EPOCH3"; - }; - class C_Offroad_01_EPOCH3 - { - ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; - upgradeToVehicle = "C_Offroad_01_EPOCH4"; - }; - class C_SUV_01_EPOCH - { - upgradeReqItems[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; - upgradeToVehicle = "C_SUV_01_EPOCH1"; - }; - class C_SUV_01_EPOCH1 - { - ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; - upgradeToVehicle = "C_SUV_01_EPOCH2"; - }; - class C_SUV_01_EPOCH2 - { - ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; - upgradeToVehicle = "C_SUV_01_EPOCH3"; - }; - class C_SUV_01_EPOCH3 - { - ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; - upgradeToVehicle = "C_SUV_01_EPOCH4"; - }; - class B_G_Offroad_01_armed_EPOCH - { - upgradeReqItems[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; - upgradeToVehicle = "B_G_Offroad_01_armed_EPOCH1"; - }; - class B_G_Offroad_01_armed_EPOCH1 - { - ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; - upgradeToVehicle = "B_G_Offroad_01_armed_EPOCH2"; - }; - class B_G_Offroad_01_armed_EPOCH2 - { - ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; - upgradeToVehicle = "B_G_Offroad_01_armed_EPOCH3"; - }; - class B_G_Offroad_01_armed_EPOCH3 - { - ReqMaterials[] = {{1,"ItemVehDoc4"},{1,"CircuitParts"},{2,"ItemScraps"},{1,"jerrycan_epoch"}}; - upgradeToVehicle = "B_G_Offroad_01_armed_EPOCH4"; + class C_Hatchback_01_EPOCH3 + { + ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH4"; + }; + class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH4"; + }; + class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_Offroad_01_EPOCH4"; + }; + class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_SUV_01_EPOCH4"; + }; }; }; \ No newline at end of file diff --git a/Sources/epoch_server/compile/epoch_trading/EPOCH_server_makeNPCTrade.sqf b/Sources/epoch_server/compile/epoch_trading/EPOCH_server_makeNPCTrade.sqf index 4b3af1d9..569795d0 100644 --- a/Sources/epoch_server/compile/epoch_trading/EPOCH_server_makeNPCTrade.sqf +++ b/Sources/epoch_server/compile/epoch_trading/EPOCH_server_makeNPCTrade.sqf @@ -73,9 +73,12 @@ if (_slot != -1) then { if (_playerNetID == (owner _vehicle)) then { _vehSlot = _vehicle getVariable["VEHICLE_SLOT", "ABORT"]; - if (!_vehicleSold && _vehSlot != "ABORT") then { - - removeFromRemainsCollector[_vehicle]; + if (!_vehicleSold && _vehSlot != "ABORT") then { + _BaseClass = _vehicle getvariable ["VEHICLE_BaseClass",""]; + if !(_BaseClass isequalto "") then { + _item = _BaseClass; + }; + removeFromRemainsCollector[_vehicle]; deleteVehicle _vehicle; _vehicleSold = true; diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_storage.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_storage.sqf index dc3f37cb..522082b3 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_storage.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_storage.sqf @@ -138,93 +138,7 @@ for "_i" from 1 to _maxStorageLimit do { clearItemCargoGlobal _vehicle; if !(_inventory isEqualTo []) then { - { - _objType = _forEachIndex; - - _objTypes = _x; - _objQty = []; - - if (_objType in [1, 2, 3]) then { - _objTypes = _x select 0; - _objQty = _x select 1; - }; - - { - switch _objType do { - // Weapon cargo - case 0: { - if (_x isEqualType []) then { - if ((count _x) >= 4) then { - _vehicle addWeaponCargoGlobal[_x deleteAt 0, 1]; - - _attachments = []; - _wMags = false; - _wMagsArray = []; - // suppressor, laser, optics, magazines(array), bipods - { - // magazines - if (_x isEqualType []) then{ - _wMags = true; - _wMagsArray = _x; - } - else { - // attachments - if (_x != "") then{ - _attachments pushBack _x; - }; - }; - } forEach _x; - - // add all attachments to vehicle - // TODO replace with adding attachments directly to gun (Arma feature dependant) - { - _vehicle addItemCargoGlobal[_x, 1]; - } forEach _attachments; - - if (_wMags) then{ - if (_wMagsArray isEqualType [] && (count _wMagsArray) >= 2) then{ - _vehicle addMagazineAmmoCargo[_wMagsArray select 0, 1, _wMagsArray select 1]; - }; - }; - - }; - }; - }; - // Magazine cargo - case 1: { - _magazineName = _x; - _magazineSize = _objQty select _forEachIndex; - - if ((_magazineName isEqualType "STRING") && (_magazineSize isEqualType 0)) then { - _magazineSizeMax = getNumber (configFile >> "CfgMagazines" >> _magazineName >> "count"); - if (_magazineSizeMax >= 1) then { - // Add full magazines cargo - _vehicle addMagazineAmmoCargo [_magazineName, floor (_magazineSize / _magazineSizeMax), _magazineSizeMax]; - - // Add last non full magazine - if ((_magazineSize % _magazineSizeMax) > 0) then { - _vehicle addMagazineAmmoCargo [_magazineName, 1, floor (_magazineSize % _magazineSizeMax)]; - }; - }; - }; - }; - // Backpack cargo - case 2: { - if (_x isEqualType "STRING") then { - _qty = _objQty select _forEachIndex; - _vehicle addBackpackCargoGlobal [_x, _qty]; - }; - }; - // Item cargo - case 3: { - if (_x isEqualType "STRING") then { - _qty = _objQty select _forEachIndex; - _vehicle addItemCargoGlobal [_x, _qty]; - }; - }; - }; - }forEach _objTypes; - }forEach _inventory; + [_vehicle,_inventory] call EPOCH_server_CargoFill; }; if (EPOCH_DEBUG_VEH) then { diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf index e61582c7..36eec12f 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf @@ -13,12 +13,12 @@ https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf */ //[[[cog import generate_private_arrays ]]] -private ["_actualHitpoints","_allHitpoints","_allVehicles","_allowDamage","_arr","_arrNum","_attachments","_availableColorsConfig","_cfgEpochVehicles","_class","_color","_colors","_config","_count","_damage","_dataFormat","_dataFormatCount","_diag","_dmg","_found","_hitpoints","_immuneIfStartInBase","_jammerOwner","_jammerRange","_jammers","_location","_lockedOwner","_magazineName","_magazineSize","_magazineSizeMax","_mags","_marker","_nearestJammer","_objQty","_objType","_objTypes","_qty","_removemagazinesturret","_removeweapons","_response","_selections","_serverSettingsConfig","_simulationHandler","_textureSelectionIndex","_textures","_vehHiveKey","_vehLockHiveKey","_vehicle","_vehicleDamages","_vehicleSlotIndex","_wMags","_wMagsArray","_worldspace"]; +private ["_actualHitpoints","_allHitpoints","_allVehicles","_allowDamage","_arr","_arrNum","_attachments","_availableColorsConfig","_cfgEpochVehicles","_class","_color","_colors","_config","_count","_damage","_dataFormat","_dataFormatCount","_diag","_dmg","_found","_hitpoints","_immuneIfStartInBase","_jammerOwner","_jammerRange","_jammers","_location","_lockedOwner","_magazineName","_magazineSize","_magazineSizeMax","_mags","_marker","_nearestJammer","_objQty","_objType","_objTypes","_qty","_removemagazinesturret","_removeweapons","_response","_selections","_serverSettingsConfig","_simulationHandler","_textureSelectionIndex","_textures","_vehHiveKey","_vehLockHiveKey","_vehicle","_vehicleDamages","_vehicleSlotIndex","_wMags","_wMagsArray","_worldspace","_baseClass"]; //[[[end]]] params [["_maxVehicleLimit",0]]; _diag = diag_tickTime; -_dataFormat = ["", [], 0, [], 0, [], [], 0]; +_dataFormat = ["", [], 0, [], 0, [], [], 0, ""]; _dataFormatCount = count _dataFormat; EPOCH_VehicleSlots = []; _allVehicles = []; @@ -110,6 +110,10 @@ for "_i" from 1 to _maxVehicleLimit do { } forEach _selections; _vehicle setVariable ["VEHICLE_TEXTURE", _color]; }; + _baseClass = _arr select 8; + if !(_baseClass isequalto "") then { + _vehicle setvariable ["VEHICLE_BASECLASS",_baseClass]; + }; // disable thermal imaging equipment _vehicle disableTIEquipment true; // lock all vehicles @@ -131,83 +135,8 @@ for "_i" from 1 to _maxVehicleLimit do { } foreach _removemagazinesturret; }; - { - _objType = _forEachIndex; - _objTypes = _x; - _objQty = []; - if (_objType in [1, 2, 3]) then { - _objTypes = _x select 0; - _objQty = _x select 1; - }; - { - switch _objType do { - // Weapon cargo - case 0: { - if (_x isEqualType []) then { - if ((count _x) >= 4) then { - _vehicle addWeaponCargoGlobal[_x deleteAt 0, 1]; - _attachments = []; - _wMags = false; - _wMagsArray = []; - // suppressor, laser, optics, magazines(array), bipods - { - // magazines - if (_x isEqualType []) then{ - _wMags = true; - _wMagsArray = _x; - } else { - // attachments - if (_x != "") then{ - _attachments pushBack _x; - }; - }; - } forEach _x; - // add all attachments to vehicle - // TODO replace with adding attachments directly to gun (Arma feature dependant) - { - _vehicle addItemCargoGlobal[_x, 1]; - } forEach _attachments; - if (_wMags) then{ - if (_wMagsArray isEqualType [] && (count _wMagsArray) >= 2) then{ - _vehicle addMagazineAmmoCargo[_wMagsArray select 0, 1, _wMagsArray select 1]; - }; - }; - }; - }; - }; - // Magazine cargo - case 1: { - _magazineName = _x; - _magazineSize = _objQty select _forEachIndex; - if ((_magazineName isEqualType "STRING") && (_magazineSize isEqualType 0)) then { - _magazineSizeMax = getNumber (configFile >> "CfgMagazines" >> _magazineName >> "count"); - if (_magazineSizeMax >= 1) then { - // Add full magazines cargo - _vehicle addMagazineAmmoCargo [_magazineName, floor (_magazineSize / _magazineSizeMax), _magazineSizeMax]; - // Add last non full magazine - if ((_magazineSize % _magazineSizeMax) > 0) then { - _vehicle addMagazineAmmoCargo [_magazineName, 1, floor (_magazineSize % _magazineSizeMax)]; - }; - }; - }; - }; - // Backpack cargo - case 2: { - if (_x isEqualType "STRING") then { - _qty = _objQty select _forEachIndex; - _vehicle addBackpackCargoGlobal [_x, _qty]; - }; - }; - // Item cargo - case 3: { - if (_x isEqualType "STRING") then { - _qty = _objQty select _forEachIndex; - _vehicle addItemCargoGlobal [_x, _qty]; - }; - }; - }; - } forEach _objTypes; - } forEach (_arr select 5); + // utilize He-Man's new Cargo functions + [_vehicle,_arr select 5] call EPOCH_server_CargoFill; // remove and add back magazines if !((_arr select 6) isequalto []) then { diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_CargoFill.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_CargoFill.sqf new file mode 100644 index 00000000..981b4bd0 --- /dev/null +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_CargoFill.sqf @@ -0,0 +1,78 @@ +params [["_vehicle",objnull],["_items",[]]]; +{ + _objType = _forEachIndex; + _objTypes = _x; + _objQty = []; + if (_objType in [1, 2, 3]) then { + _objTypes = _x select 0; + _objQty = _x select 1; + }; + { + switch _objType do { + // Weapon cargo + case 0: { + if (_x isEqualType []) then { + if ((count _x) >= 4) then { + _vehicle addWeaponCargoGlobal[_x deleteAt 0, 1]; + _attachments = []; + _wMags = false; + _wMagsArray = []; + // suppressor, laser, optics, magazines(array), bipods + { + // magazines + if (_x isEqualType []) then{ + _wMags = true; + _wMagsArray = _x; + } else { + // attachments + if (_x != "") then{ + _attachments pushBack _x; + }; + }; + } forEach _x; + // add all attachments to vehicle + // TODO replace with adding attachments directly to gun (Arma feature dependant) + { + _vehicle addItemCargoGlobal[_x, 1]; + } forEach _attachments; + if (_wMags) then{ + if (_wMagsArray isEqualType [] && (count _wMagsArray) >= 2) then{ + _vehicle addMagazineAmmoCargo[_wMagsArray select 0, 1, _wMagsArray select 1]; + }; + }; + }; + }; + }; + // Magazine cargo + case 1: { + _magazineName = _x; + _magazineSize = _objQty select _forEachIndex; + if ((_magazineName isEqualType "STRING") && (_magazineSize isEqualType 0)) then { + _magazineSizeMax = getNumber (configFile >> "CfgMagazines" >> _magazineName >> "count"); + if (_magazineSizeMax >= 1) then { + // Add full magazines cargo + _vehicle addMagazineAmmoCargo [_magazineName, floor (_magazineSize / _magazineSizeMax), _magazineSizeMax]; + // Add last non full magazine + if ((_magazineSize % _magazineSizeMax) > 0) then { + _vehicle addMagazineAmmoCargo [_magazineName, 1, floor (_magazineSize % _magazineSizeMax)]; + }; + }; + }; + }; + // Backpack cargo + case 2: { + if (_x isEqualType "STRING") then { + _qty = _objQty select _forEachIndex; + _vehicle addBackpackCargoGlobal [_x, _qty]; + }; + }; + // Item cargo + case 3: { + if (_x isEqualType "STRING") then { + _qty = _objQty select _forEachIndex; + _vehicle addItemCargoGlobal [_x, _qty]; + }; + }; + }; + } forEach _objTypes; +} forEach _items; diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_CargoSave.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_CargoSave.sqf new file mode 100644 index 00000000..eddce2ff --- /dev/null +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_CargoSave.sqf @@ -0,0 +1,66 @@ +params [["_vehicle",objnull]]; +// may not be needed but should prevent in DB. +_wepsItemsCargo = weaponsItemsCargo _vehicle; +if (isNil "_wepsItemsCargo") then { + _wepsItemsCargo = []; +}; +_magsAmmoCargo = magazinesAmmoCargo _vehicle; +if (isNil "_magsAmmoCargo") then { + _magsAmmoCargo = []; +}; + +{ + _cargo = _x select 1; + _magsAmmoCargox = magazinesAmmoCargo _cargo; + { + _magsAmmoCargo pushback _x; + } foreach _magsAmmoCargox; + _wepsItemsCargox = weaponsItemsCargo _cargo; + { + _wepsItemsCargo pushback _x; + } foreach _wepsItemsCargox; +} foreach everycontainer _vehicle; + +// minimize magazine ammo cargo +_magsAmmoCargoMinimized = [[],[]]; +{ + // find cargo in temp var + _cargoIndex = _magsAmmoCargoMinimized find (_x select 0); + if (_cargoIndex >= 0) then { + (_magsAmmoCargoMinimized select 1) set [_cargoIndex, ((_magsAmmoCargoMinimized select 1) select _cargoIndex) + (_x select 1)]; // get count & add current + } + else { + (_magsAmmoCargoMinimized select 0) pushBack (_x select 0); // classname + (_magsAmmoCargoMinimized select 1) pushBack (_x select 1); // count + }; +} forEach _magsAmmoCargo; + +// convert and normalize +_wepsItemsCargoNormalized = []; +{ + _selectedWeaponComponents = _x; + _selectedWeapon = _selectedWeaponComponents deleteAt 0; + // find actual weapon components - todo this BIS call maybe slow + _weaponComponents = _selectedWeapon call BIS_fnc_weaponComponents; + // base weapon (without attachments) + _weapon = _weaponComponents deleteAt 0; + _newComponents = []; + { + // remove attachments that are already linked via config + if (_x isEqualType "" && {(tolower _x) in _weaponComponents}) then { + _newComponents pushBack ""; + //diag_log format ["DEBUG: suppressed saving of %1 for weapon %2 config %3", _x, [_selectedWeapon,_selectedWeaponComponents],[_weapon,_weaponComponents]]; + } else { + _newComponents pushBack _x; + }; + } forEach _selectedWeaponComponents; + _wepsItemsCargoNormalized pushBack ([_selectedWeapon] + _newComponents); +} forEach _wepsItemsCargo; + +_inventory = [ + _wepsItemsCargoNormalized, + _magsAmmoCargoMinimized, + getBackpackCargo _vehicle, + getItemCargo _vehicle +]; +_inventory diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_save_storage.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_save_storage.sqf index ee3ec7b3..e26df1ca 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_save_storage.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_save_storage.sqf @@ -28,72 +28,8 @@ if (!isNull _vehicle) then { _vehicle setDamage 0; _vehiclePos = getposATL _vehicle; - // may not be needed but should prevent in DB. - _wepsItemsCargo = weaponsItemsCargo _vehicle; - if (isNil "_wepsItemsCargo") then { - _wepsItemsCargo = []; - }; - _magsAmmoCargo = magazinesAmmoCargo _vehicle; - if (isNil "_magsAmmoCargo") then { - _magsAmmoCargo = []; - }; - - { - _cargo = _x select 1; - _magsAmmoCargox = magazinesAmmoCargo _cargo; - { - _magsAmmoCargo pushback _x; - } foreach _magsAmmoCargox; - - _wepsItemsCargox = weaponsItemsCargo _cargo; - { - _wepsItemsCargo pushback _x; - } foreach _wepsItemsCargox; - } foreach everycontainer _vehicle; - - // minimize magazine ammo cargo - _magsAmmoCargoMinimized = [[],[]]; - { - // find cargo in temp var - _cargoIndex = _magsAmmoCargoMinimized find (_x select 0); - if (_cargoIndex >= 0) then { - (_magsAmmoCargoMinimized select 1) set [_cargoIndex, ((_magsAmmoCargoMinimized select 1) select _cargoIndex) + (_x select 1)]; // get count & add current - } - else { - (_magsAmmoCargoMinimized select 0) pushBack (_x select 0); // classname - (_magsAmmoCargoMinimized select 1) pushBack (_x select 1); // count - }; - } forEach _magsAmmoCargo; - - // convert and normalize - _wepsItemsCargoNormalized = []; - { - _selectedWeaponComponents = _x; - _selectedWeapon = _selectedWeaponComponents deleteAt 0; - // find actual weapon components - todo this BIS call maybe slow - _weaponComponents = _selectedWeapon call BIS_fnc_weaponComponents; - // base weapon (without attachments) - _weapon = _weaponComponents deleteAt 0; - _newComponents = []; - { - // remove attachments that are already linked via config - if (_x isEqualType "" && {(tolower _x) in _weaponComponents}) then { - _newComponents pushBack ""; - //diag_log format ["DEBUG: suppressed saving of %1 for weapon %2 config %3", _x, [_selectedWeapon,_selectedWeaponComponents],[_weapon,_weaponComponents]]; - } else { - _newComponents pushBack _x; - }; - } forEach _selectedWeaponComponents; - _wepsItemsCargoNormalized pushBack ([_selectedWeapon] + _newComponents); - } forEach _wepsItemsCargo; - - _inventory = [ - _wepsItemsCargoNormalized, - _magsAmmoCargoMinimized, - getBackpackCargo _vehicle, - getItemCargo _vehicle - ]; - + _inventory = _vehicle call EPOCH_server_CargoSave; + _colorSlot = _vehicle getVariable ["STORAGE_TEXTURE",0]; _storageOwners = _vehicle getVariable["STORAGE_OWNERS",[]]; _locked = if (_vehicle getVariable["EPOCH_Locked", true]) then {1} else {-1}; diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_save_vehicle.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_save_vehicle.sqf index 5f695dfb..9f00da39 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_save_vehicle.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_save_vehicle.sqf @@ -27,77 +27,11 @@ if (!isNull _vehicle) then { _hitpoints = (getAllHitPointsDamage _vehicle) param [2,[]]; - // may not be needed but should prevent in DB. - _wepsItemsCargo = weaponsItemsCargo _vehicle; - if (isNil "_wepsItemsCargo") then { - _wepsItemsCargo = []; - }; - _magsAmmoCargo = magazinesAmmoCargo _vehicle; - if (isNil "_magsAmmoCargo") then { - _magsAmmoCargo = []; - }; - - { - _cargo = _x select 1; - _magsAmmoCargox = magazinesAmmoCargo _cargo; - { - _magsAmmoCargo pushback _x; - } foreach _magsAmmoCargox; - _wepsItemsCargox = weaponsItemsCargo _cargo; - { - _wepsItemsCargo pushback _x; - } foreach _wepsItemsCargox; - } foreach everycontainer _vehicle; - - // minimize magazine ammo cargo - _magsAmmoCargoMinimized = [[],[]]; - { - // find cargo in temp var - _cargoIndex = _magsAmmoCargoMinimized find (_x select 0); - if (_cargoIndex >= 0) then { - (_magsAmmoCargoMinimized select 1) set [_cargoIndex, ((_magsAmmoCargoMinimized select 1) select _cargoIndex) + (_x select 1)]; // get count & add current - } - else { - (_magsAmmoCargoMinimized select 0) pushBack (_x select 0); // classname - (_magsAmmoCargoMinimized select 1) pushBack (_x select 1); // count - }; - } forEach _magsAmmoCargo; - - // convert and normalize - _startTime = diag_tickTime; - //diag_log format ["DEBUG: BIS_fnc_weaponComponents start %1", _startTime]; - _wepsItemsCargoNormalized = []; - { - _selectedWeaponComponents = _x; - _selectedWeapon = _selectedWeaponComponents deleteAt 0; - // find actual weapon components - todo this BIS call maybe slow - _weaponComponents = _selectedWeapon call BIS_fnc_weaponComponents; - //diag_log format ["DEBUG: BIS_fnc_weaponComponents end %1", diag_tickTime - _startTime]; - // base weapon (without attachments) - _weapon = _weaponComponents deleteAt 0; - _newComponents = []; - { - // remove attachments that are already linked via config - if (_x isEqualType "" && {(tolower _x) in _weaponComponents}) then { - _newComponents pushBack ""; - //diag_log format ["DEBUG: suppressed saving of %1 for weapon %2 config %3", _x, [_selectedWeapon,_selectedWeaponComponents],[_weapon,_weaponComponents]]; - } else { - _newComponents pushBack _x; - }; - } forEach _selectedWeaponComponents; - _wepsItemsCargoNormalized pushBack ([_selectedWeapon] + _newComponents); - } forEach _wepsItemsCargo; - // diag_log format ["DEBUG: convert and normalize end %1", diag_tickTime - _startTime]; - - _inventory = [ - _wepsItemsCargoNormalized, - _magsAmmoCargoMinimized, - getBackpackCargo _vehicle, - getItemCargo _vehicle - ]; + _inventory = _vehicle call EPOCH_server_CargoSave; + _colorSlot = _vehicle getVariable ["VEHICLE_TEXTURE",0]; - - _VAL = [typeOf _vehicle,[(getposATL _vehicle call EPOCH_precisionPos),vectordir _vehicle,vectorup _vehicle],damage _vehicle,_hitpoints,fuel _vehicle,_inventory,[true,magazinesAllTurrets _vehicle],_colorSlot]; + _baseType = _vehicle getVariable ["VEHICLE_BASECLASS",""]; + _VAL = [typeOf _vehicle,[(getposATL _vehicle call EPOCH_precisionPos),vectordir _vehicle,vectorup _vehicle],damage _vehicle,_hitpoints,fuel _vehicle,_inventory,[true,magazinesAllTurrets _vehicle],_colorSlot,_baseType]; ["Vehicle", _vehHiveKey, EPOCH_expiresVehicle, _VAL] call EPOCH_fnc_server_hiveSETEX; }; }; diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf index f752331c..cac14fb3 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf @@ -24,21 +24,82 @@ if (_UpgradeVeh isequalto "") exitwith { diag_log "No Upgrade Vehicle Class"; }; if !(_removeCrypto isequalto []) && !(_removeCrypto isEqualTo 0) then { - [_player,-_removeCrypto] remoteExec ["EPOCH_server_effectCrypto",2]; + [_player,-_removeCrypto] call EPOCH_server_effectCrypto; }; _slot = _veh getvariable ["vehicle_slot","-1"]; if (_slot isequalto "-1") exitwith { diag_log "Vehicle has no Slot"; }; + _pos = getposasl _veh; _dir = getdir _veh; +_cargo = _veh call EPOCH_server_CargoSave; +_damage = damage _veh; +_hitPoints = getAllHitPointsDamage _veh; +_baseVeh = _veh getVariable ["VEHICLE_BASECLASS",""]; +_typeVeh = typeOf _veh; +_colorVeh = _veh getVariable ["VEHICLE_TEXTURE",""]; +_fuel = fuel _veh; deletevehicle _veh; waituntil {isnull _veh}; _pos set [2,(_pos select 2)+0.5]; -_veh = createVehicle [_UpgradeVeh, [random 500, random 500,500], [], 0, "CAN_COLLIDE"]; -_veh setVariable ["VEHICLE_SLOT", _slot, true]; -_veh call EPOCH_server_setVToken; -_veh call EPOCH_server_vehicleInit; -_veh setdir _dir; -_veh setposasl _pos; +_newVeh = createVehicle [_UpgradeVeh, [random 500, random 500,500], [], 0, "CAN_COLLIDE"]; +_newVeh setVariable ["VEHICLE_SLOT", _slot, true]; +if!(_baseVeh isEqualTo "")then +{ + _newVeh setVariable["VEHICLE_BASECLASS", _baseVeh]; +}else{ + _newVeh setVariable["VEHICLE_BASECLASS", _typeVeh]; +}; +_newVeh call EPOCH_server_setVToken; +_newVeh call EPOCH_server_vehicleInit; +_newVeh setdir _dir; +_newVeh setposasl _pos; +// set fuel level +_newVeh setFuel _fuel; + +// apply persistent textures +_cfgEpochVehicles = 'CfgEpochVehicles' call EPOCH_returnConfig; +_newbaseVeh = _veh getVariable ["VEHICLE_BASECLASS",""]; +_availableColorsConfig = (_cfgEpochVehicles >> _newbaseVeh >> "availableColors"); +if (isArray(_availableColorsConfig)) then { + _color = _colorVeh; + _colors = getArray(_availableColorsConfig); + _textureSelectionIndex = (_cfgEpochVehicles >> _newbaseVeh >> "textureSelectionIndex"); + _selections = if (isArray(_textureSelectionIndex)) then { getArray(_textureSelectionIndex) } else { [0] }; + _count = (count _colors) - 1; + { + _textures = _colors select 0; + if (_count >= _forEachIndex) then { + _textures = _colors select _forEachIndex; + }; + _newVeh setObjectTextureGlobal [_x, _textures select _color]; + } forEach _selections; + _newVeh setVariable ["VEHICLE_TEXTURE", _color]; +}; + +// disable thermal imaging equipment +_newVeh disableTIEquipment true; + +// set damage and hitpoints +_newVeh setDamage _damage; +_allHitpoints = getAllHitPointsDamage _newVeh; +if !(_allHitpoints isEqualTo []) then{ + _actualHitpoints = _allHitpoints select 0; + if ((count _actualHitpoints) == (count _hitpoints)) then{ + { + _dmg = _hitpoints param [_forEachIndex,0]; + if (_x in ["HitFuel", "HitEngine"]) then { + _dmg = _dmg min 0.9; + }; + _newVeh setHitIndex [_forEachIndex, _dmg]; + } forEach _actualHitpoints; + }; +}; + +// add back old inventory +[_newveh,_cargo] call EPOCH_server_CargoFill; + +// save new vehicle to db +_newveh call EPOCH_Server_Save_Vehicle; \ No newline at end of file diff --git a/Sources/epoch_server/config.cpp b/Sources/epoch_server/config.cpp index 6eeb169b..23fedbe9 100644 --- a/Sources/epoch_server/config.cpp +++ b/Sources/epoch_server/config.cpp @@ -95,6 +95,8 @@ class CfgServerFunctions class server_packJack {}; class spawn_vehicle {}; class server_upgrade_vehicle {}; + class server_CargoSave {}; + class server_CargoFill {}; }; class epoch_server { class weightedArray {}; diff --git a/Sources/epoch_server/init/server_init.sqf b/Sources/epoch_server/init/server_init.sqf index 43f88b88..8a605bd0 100644 --- a/Sources/epoch_server/init/server_init.sqf +++ b/Sources/epoch_server/init/server_init.sqf @@ -163,7 +163,7 @@ diag_log "Epoch: Spawning vehicles"; _allowedVehiclesListArray = []; { _x params ["_vehClass","_velimit"]; - _vehicleCount = {typeOf _x == _vehClass} count vehicles; + _vehicleCount = {(_x getvariable ["VEHICLE_BaseClass",typeOf _x]) == _vehClass} count vehicles; // Load how many of this vehicle are in stock at any trader. _indexStock = EPOCH_traderStoredVehicles find _vehClass; diff --git a/Sources/epoch_server_settings/configs/CfgEpochVehicles.h b/Sources/epoch_server_settings/configs/CfgEpochVehicles.h index ac5ee9b7..4b360b88 100644 --- a/Sources/epoch_server_settings/configs/CfgEpochVehicles.h +++ b/Sources/epoch_server_settings/configs/CfgEpochVehicles.h @@ -18,14 +18,26 @@ class CfgEpochVehicles textureSelectionIndex[] = {0}; availableColors[] = {{ "\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_BASE01_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_BASE02_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_BASE03_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_BASE04_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_BASE05_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_BASE06_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_BASE07_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_BASE08_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_BASE09_CO.paa" }}; }; + class C_Hatchback_01_EPOCH1: C_Hatchback_01_EPOCH{}; + class C_Hatchback_01_EPOCH2: C_Hatchback_01_EPOCH{}; + class C_Hatchback_01_EPOCH3: C_Hatchback_01_EPOCH{}; + class C_Hatchback_01_EPOCH4: C_Hatchback_01_EPOCH{}; class C_Offroad_01_EPOCH { textureSelectionIndex[] = {0,1}; availableColors[] = {{ "\A3\soft_F\Offroad_01\Data\Offroad_01_ext_co.paa","\A3\soft_F\Offroad_01\Data\Offroad_01_ext_BASE01_CO.paa","\A3\soft_F\Offroad_01\Data\Offroad_01_ext_BASE02_CO.paa","\A3\soft_F\Offroad_01\Data\Offroad_01_ext_BASE03_CO.paa","\A3\soft_F\Offroad_01\Data\Offroad_01_ext_BASE04_CO.paa","\A3\soft_F\Offroad_01\Data\Offroad_01_ext_BASE05_CO.paa" }}; }; + class C_Offroad_01_EPOCH1: C_Offroad_01_EPOCH{}; + class C_Offroad_01_EPOCH2: C_Offroad_01_EPOCH{}; + class C_Offroad_01_EPOCH3: C_Offroad_01_EPOCH{}; + class C_Offroad_01_EPOCH4: C_Offroad_01_EPOCH{}; class C_SUV_01_EPOCH { textureSelectionIndex[] = {0}; availableColors[] = {{ "\A3\Soft_F_Gamma\SUV_01\Data\SUV_01_ext_CO.paa","\A3\Soft_F_Gamma\SUV_01\Data\SUV_01_ext_02_CO.paa","\A3\Soft_F_Gamma\SUV_01\Data\SUV_01_ext_03_CO.paa","\A3\Soft_F_Gamma\SUV_01\Data\SUV_01_ext_04_CO.paa" }}; }; + class C_SUV_01_EPOCH1: C_SUV_01_EPOCH{}; + class C_SUV_01_EPOCH2: C_SUV_01_EPOCH{}; + class C_SUV_01_EPOCH3: C_SUV_01_EPOCH{}; + class C_SUV_01_EPOCH4: C_SUV_01_EPOCH{}; class C_Van_01_transport_EPOCH { textureSelectionIndex[] = {0}; availableColors[] = {{ "\A3\soft_f_gamma\van_01\Data\van_01_ext_CO.paa","\A3\soft_f_gamma\van_01\Data\van_01_ext_red_CO.paa" }}; @@ -34,6 +46,10 @@ class CfgEpochVehicles textureSelectionIndex[] = {0}; availableColors[] = {{ "\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_SPORT01_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_SPORT02_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_SPORT03_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_SPORT04_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_SPORT05_CO.paa","\A3\soft_f_gamma\Hatchback_01\data\Hatchback_01_ext_SPORT06_CO.paa" }}; }; + class C_Hatchback_02_EPOCH1: C_Hatchback_02_EPOCH{}; + class C_Hatchback_02_EPOCH2: C_Hatchback_02_EPOCH{}; + class C_Hatchback_02_EPOCH3: C_Hatchback_02_EPOCH{}; + class C_Hatchback_02_EPOCH4: C_Hatchback_02_EPOCH{}; class C_Quadbike_01_EPOCH { textureSelectionIndex[] = {0,1}; availableColors[] = {{ "\A3\Soft_F_Beta\Quadbike_01\Data\Quadbike_01_CIV_BLACK_CO.paa","\A3\Soft_F_Beta\Quadbike_01\Data\Quadbike_01_CIV_BLUE_CO.paa","\A3\Soft_F_Beta\Quadbike_01\Data\Quadbike_01_CIV_RED_CO.paa","\A3\Soft_F_Beta\Quadbike_01\Data\Quadbike_01_CIV_WHITE_CO.paa" },{ "\A3\Soft_F_Beta\Quadbike_01\Data\Quadbike_01_wheel_CIVBLACK_CO.paa","\A3\Soft_F_Beta\Quadbike_01\Data\Quadbike_01_wheel_CIVBLUE_CO.paa","\A3\Soft_F_Beta\Quadbike_01\Data\Quadbike_01_wheel_CIVRED_CO.paa","\A3\Soft_F_Beta\Quadbike_01\Data\Quadbike_01_wheel_CIVWHITE_CO.paa" }}; From 9faac57e273d4df916563970b92c7d90183b2258 Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Mon, 3 Jul 2017 17:39:37 -0500 Subject: [PATCH 05/18] Add new Vehicles to CfgPricing --- Sources/epoch_config/Configs/CfgPricing.hpp | 21 +++++++++++++++++++ .../EPOCH_server_upgrade_vehicle.sqf | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Sources/epoch_config/Configs/CfgPricing.hpp b/Sources/epoch_config/Configs/CfgPricing.hpp index 92ef626e..c7ad49f8 100644 --- a/Sources/epoch_config/Configs/CfgPricing.hpp +++ b/Sources/epoch_config/Configs/CfgPricing.hpp @@ -4006,6 +4006,11 @@ class CfgPricing { price = 750; }; + class C_Offroad_01_EPOCH1: C_Offroad_01_EPOCH{}; + class C_Offroad_01_EPOCH2: C_Offroad_01_EPOCH{}; + class C_Offroad_01_EPOCH3: C_Offroad_01_EPOCH{}; + class C_Offroad_01_EPOCH4: C_Offroad_01_EPOCH{}; + class C_Offroad_01_EPOCH5: C_Offroad_01_EPOCH{}; class C_Quadbike_01_EPOCH { price = 500; @@ -4014,14 +4019,26 @@ class CfgPricing { price = 750; }; + class C_Hatchback_01_EPOCH1: C_Hatchback_01_EPOCH{}; + class C_Hatchback_01_EPOCH2: C_Hatchback_01_EPOCH{}; + class C_Hatchback_01_EPOCH3: C_Hatchback_01_EPOCH{}; + class C_Hatchback_01_EPOCH4: C_Hatchback_01_EPOCH{}; class C_Hatchback_02_EPOCH { price = 1000; }; + class C_Hatchback_02_EPOCH1: C_Hatchback_02_EPOCH{}; + class C_Hatchback_02_EPOCH2: C_Hatchback_02_EPOCH{}; + class C_Hatchback_02_EPOCH3: C_Hatchback_02_EPOCH{}; + class C_Hatchback_02_EPOCH4: C_Hatchback_02_EPOCH{}; class C_SUV_01_EPOCH { price = 750; }; + class C_SUV_01_EPOCH1: C_SUV_01_EPOCH{}; + class C_SUV_01_EPOCH2: C_SUV_01_EPOCH{}; + class C_SUV_01_EPOCH3: C_SUV_01_EPOCH{}; + class C_SUV_01_EPOCH4: C_SUV_01_EPOCH{}; class C_Rubberboat_EPOCH { price = 500; @@ -4078,6 +4095,10 @@ class CfgPricing { price = 2500; }; + class B_G_Offroad_01_armed_EPOCH1: B_G_Offroad_01_armed_EPOCH{}; + class B_G_Offroad_01_armed_EPOCH2: B_G_Offroad_01_armed_EPOCH{}; + class B_G_Offroad_01_armed_EPOCH3: B_G_Offroad_01_armed_EPOCH{}; + class B_G_Offroad_01_armed_EPOCH4: B_G_Offroad_01_armed_EPOCH{}; class B_Truck_01_transport_EPOCH { price = 1000; diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf index cac14fb3..42a28a0d 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_upgrade_vehicle.sqf @@ -23,7 +23,7 @@ if (isnull _veh) exitwith { if (_UpgradeVeh isequalto "") exitwith { diag_log "No Upgrade Vehicle Class"; }; -if !(_removeCrypto isequalto []) && !(_removeCrypto isEqualTo 0) then { +if (!(_removeCrypto isequalto []) && !(_removeCrypto isEqualTo 0)) then { [_player,-_removeCrypto] call EPOCH_server_effectCrypto; }; _slot = _veh getvariable ["vehicle_slot","-1"]; From 1e77e0a22be2b1c001a61f937234002a9b1a8f41 Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Mon, 3 Jul 2017 19:08:04 -0500 Subject: [PATCH 06/18] Add reading documents Add configs for easy editing of readable documents messages Array for multiple messages, even a story. lol Default messages are a hoot! --- .../epoch_code/compile/EPOCH_consumeItem.sqf | 11 ++++ .../Configs/CfgItemInteractions.hpp | 2 +- .../Configs/CfgReadingDocuments.hpp | 58 +++++++++++++++++++ Sources/epoch_config/sandbox_config.hpp | 1 + 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 Sources/epoch_config/Configs/CfgReadingDocuments.hpp diff --git a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf index 4929c44d..d720dd8b 100644 --- a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf +++ b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf @@ -308,6 +308,17 @@ switch _interactOption do { ["Unpacked backpack", 5] call Epoch_message; }; }; + + case 15: { // Read + _msg = getArray(missionConfigFile >> "CfgReadingDocuments" >> _item >> "displayMessage"); + if!(_msg isEqualTo [])then{ + { + [_x,5] call Epoch_message; + }forEach _msg; + }else{ + ["This document can't be read yet. Blame DirtySanchez!",5] call Epoch_message; + }; + }; default { ["Found nothing", 5] call Epoch_message; diff --git a/Sources/epoch_config/Configs/CfgItemInteractions.hpp b/Sources/epoch_config/Configs/CfgItemInteractions.hpp index 12f27843..15a02884 100644 --- a/Sources/epoch_config/Configs/CfgItemInteractions.hpp +++ b/Sources/epoch_config/Configs/CfgItemInteractions.hpp @@ -540,7 +540,7 @@ class CfgItemInteractions class ItemKeyYellow : ItemKey {}; class ItemDoc1 : Default { - interactAction = -1; + interactAction = 15; interactText = "READ"; }; class ItemDoc2 : ItemDoc1 {}; diff --git a/Sources/epoch_config/Configs/CfgReadingDocuments.hpp b/Sources/epoch_config/Configs/CfgReadingDocuments.hpp new file mode 100644 index 00000000..d3918b47 --- /dev/null +++ b/Sources/epoch_config/Configs/CfgReadingDocuments.hpp @@ -0,0 +1,58 @@ +/* + @author = "Aaron Clark - https://EpochMod.com"; + @contributors[] = {"DirtySanchez"}; + @description = "Readable Document Message Configs"; + @licence = "Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike"; + @github = ""; +*/ +class CfgReadingDocuments +{ + class ItemVehDoc1 + { + displayMessage[] = {"Max Speed, Terrain Coef, Gears and more were edited","Upgrade your vehicle's Speed and Offroad Performance"}; + }; + class ItemVehDoc2 + { + displayMessage[] = {"Upgrade your vehicle's body, wheels and windows with armor strength"}; + }; + class ItemVehDoc3 + { + displayMessage[] = {"Increase your vehicle's inventory capacity for items, magazines, weapons and more"}; + }; + class ItemVehDoc4 + { + displayMessage[] = {"Increase your fuel capacity for those long hauls across your favorite ISLANDS"}; + }; + class ItemDoc1 + { + displayMessage[] = {"It was a beautiful day on Johnny's block","While Johnny was watching his father take all he could","Daddy's Roommate by Will Michoite"}; + }; + class ItemDoc2 + { + displayMessage[] = {"An elaborate story on a small town kid with big town mommies, I mean tittied.","Heather has TWO Mommies by Leslea Newman and Diana Solza"}; + }; + class ItemDoc3 + { + displayMessage[] = {"Look its todays edition and OH crap you die today, nvm thats O'Tool whom died","Trade City Obituaries by Your Fellow Community Members and AI"}; + }; + class ItemDoc4 + { + displayMessage[] = {"As you open the manilla folder you see pictures of your mom..."}; + }; + class ItemDoc5 + { + displayMessage[] = {"First you have no liquor and then you get slapped by a woman. This is not your day..."}; + }; + class ItemDoc6 + { + displayMessage[] = {"Wooden Ramp for DUMMIES volume 3"}; + }; + class ItemDoc7 + { + displayMessage[] = {"Swap the Deck, a seductive tale so bad the author couldnt put his name on it!"}; + }; + class ItemDoc8 + { + displayMessage[] = {"'He Touch Me, He Touch Me NOT is Back' raves Cherno Shmerno!","#1 Bestseller throughout Arma 2 DayZ Epoch"}; + }; +}; \ No newline at end of file diff --git a/Sources/epoch_config/sandbox_config.hpp b/Sources/epoch_config/sandbox_config.hpp index 53e5acca..40ca4e61 100644 --- a/Sources/epoch_config/sandbox_config.hpp +++ b/Sources/epoch_config/sandbox_config.hpp @@ -75,6 +75,7 @@ disableRandomization[] = {"All"}; #include "Configs\CfgSay3Dhandler.hpp" #include "Configs\CfgSwitchMovehandler.hpp" #include "Configs\CfgVehicleUpgrades.hpp" +#include "Configs\CfgReadingDocuments.hpp" // A3 specific configs #include "Configs\CfgFunctions.hpp" From 657d4c7b29050019df08baf1b8cd194dfed3a61b Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Tue, 4 Jul 2017 10:25:23 -0500 Subject: [PATCH 07/18] Check and Correct Old Vehicle DB array When hosts upgrade they will have vehicles saved in their DB with the old dataFormat. This check by @He-Man will do the trick to solve this issue moving forward with vehicle upgrades --- .../compile/epoch_vehicle/EPOCH_load_vehicles.sqf | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf index 36eec12f..7ec842cd 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf @@ -42,7 +42,17 @@ for "_i" from 1 to _maxVehicleLimit do { if ((_response select 0) == 1 && (_response select 1) isEqualType []) then { _arr = _response select 1; _arrNum = count _arr; - + + // New Upgrade System adds to DB array, check and correct older saved vehicles + if (_arrNum < _dataFormatCount) then { + { + _check = _arr select _foreachindex; + if (isnil '_check') then { + _arr pushback (_dataFormat select _foreachindex); + }; + } foreach _dataFormat; + }; + if (_arrNum == _dataFormatCount) then { // Validate and replace invaild data From f0fdc9844d61fac60f9f1fe1c129ee207cf020bc Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Tue, 4 Jul 2017 14:18:36 -0500 Subject: [PATCH 08/18] add new crafted veh upg kits Added to Item Interactions for READ button on click Added to Reading Documents for info on each kit Added inherits from the respective ItemVehDoc so that it can be used for upgrading. --- Sources/epoch_config/Configs/CfgItemInteractions.hpp | 12 ++++++++++++ Sources/epoch_config/Configs/CfgReadingDocuments.hpp | 12 ++++++++++++ Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp | 12 ++++++++++++ 3 files changed, 36 insertions(+) diff --git a/Sources/epoch_config/Configs/CfgItemInteractions.hpp b/Sources/epoch_config/Configs/CfgItemInteractions.hpp index 15a02884..44335486 100644 --- a/Sources/epoch_config/Configs/CfgItemInteractions.hpp +++ b/Sources/epoch_config/Configs/CfgItemInteractions.hpp @@ -554,6 +554,18 @@ class CfgItemInteractions class ItemVehDoc2 : ItemDoc1 {}; class ItemVehDoc3 : ItemDoc1 {}; class ItemVehDoc4 : ItemDoc1 {}; + class KitVehicleUpgradeI_100_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeI_200_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeI_300_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeII_100_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeII_200_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeII_300_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeIII_100_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeIII_200_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeIII_300_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeIV_100_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeIV_200_EPOCH : ItemDoc1 {}; + class KitVehicleUpgradeIV_300_EPOCH : ItemDoc1 {}; class ItemBulb : Default {}; class ItemBurlap : Default {}; class ItemBriefcaseE : Default {}; diff --git a/Sources/epoch_config/Configs/CfgReadingDocuments.hpp b/Sources/epoch_config/Configs/CfgReadingDocuments.hpp index d3918b47..1900c5ca 100644 --- a/Sources/epoch_config/Configs/CfgReadingDocuments.hpp +++ b/Sources/epoch_config/Configs/CfgReadingDocuments.hpp @@ -11,18 +11,30 @@ class CfgReadingDocuments { displayMessage[] = {"Max Speed, Terrain Coef, Gears and more were edited","Upgrade your vehicle's Speed and Offroad Performance"}; }; + class KitVehicleUpgradeI_100_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeI_200_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeI_300_EPOCH: ItemVehDoc1{}; class ItemVehDoc2 { displayMessage[] = {"Upgrade your vehicle's body, wheels and windows with armor strength"}; }; + class KitVehicleUpgradeII_100_EPOCH: ItemVehDoc2{}; + class KitVehicleUpgradeII_200_EPOCH: ItemVehDoc2{}; + class KitVehicleUpgradeII_300_EPOCH: ItemVehDoc2{}; class ItemVehDoc3 { displayMessage[] = {"Increase your vehicle's inventory capacity for items, magazines, weapons and more"}; }; + class KitVehicleUpgradeIII_100_EPOCH: ItemVehDoc3{}; + class KitVehicleUpgradeIII_200_EPOCH: ItemVehDoc3{}; + class KitVehicleUpgradeIII_300_EPOCH: ItemVehDoc3{}; class ItemVehDoc4 { displayMessage[] = {"Increase your fuel capacity for those long hauls across your favorite ISLANDS"}; }; + class KitVehicleUpgradeIV_100_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeIV_200_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeIV_300_EPOCH: ItemVehDoc1{}; class ItemDoc1 { displayMessage[] = {"It was a beautiful day on Johnny's block","While Johnny was watching his father take all he could","Daddy's Roommate by Will Michoite"}; diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index 3003d08d..5eb3a738 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -27,6 +27,9 @@ class CfgVehicleUpgrades upgradeToVehicle = "C_SUV_01_EPOCH1"; }; }; + class KitVehicleUpgradeI_100_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeI_200_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeI_300_EPOCH: ItemVehDoc1{}; class ItemVehDoc2 { class C_Hatchback_01_EPOCH1 @@ -47,6 +50,9 @@ class CfgVehicleUpgrades upgradeToVehicle = "C_SUV_01_EPOCH2"; }; }; + class KitVehicleUpgradeII_100_EPOCH: ItemVehDoc2{}; + class KitVehicleUpgradeII_200_EPOCH: ItemVehDoc2{}; + class KitVehicleUpgradeII_300_EPOCH: ItemVehDoc2{}; class ItemVehDoc3 { class C_Hatchback_01_EPOCH2 @@ -67,6 +73,9 @@ class CfgVehicleUpgrades upgradeToVehicle = "C_SUV_01_EPOCH3"; }; }; + class KitVehicleUpgradeIII_100_EPOCH: ItemVehDoc3{}; + class KitVehicleUpgradeIII_200_EPOCH: ItemVehDoc3{}; + class KitVehicleUpgradeIII_300_EPOCH: ItemVehDoc3{}; class ItemVehDoc4 { class C_Hatchback_01_EPOCH3 @@ -87,4 +96,7 @@ class CfgVehicleUpgrades upgradeToVehicle = "C_SUV_01_EPOCH4"; }; }; + class KitVehicleUpgradeIV_100_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeIV_200_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeIV_300_EPOCH: ItemVehDoc1{}; }; \ No newline at end of file From aabcb3f0694bf70a145b7d43f45ec94cb8137273 Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Tue, 4 Jul 2017 14:30:48 -0500 Subject: [PATCH 09/18] Added new crafting new kits crafting recipes and data fix upgrade IV recipes --- .../Configs/CfgVehicleUpgrades.hpp | 2 +- Sources/epoch_config/Configs/cfgCrafting.hpp | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index 5eb3a738..7f8c7724 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -80,7 +80,7 @@ class CfgVehicleUpgrades { class C_Hatchback_01_EPOCH3 { - ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; + ReqMaterials[] = {{1,"ItemVehDoc3"},{1,"CircuitParts"},{2,"ItemScraps"},{2,"jerrycan_epoch"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH4"; }; class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 diff --git a/Sources/epoch_config/Configs/cfgCrafting.hpp b/Sources/epoch_config/Configs/cfgCrafting.hpp index b93bd4af..e2d22254 100644 --- a/Sources/epoch_config/Configs/cfgCrafting.hpp +++ b/Sources/epoch_config/Configs/cfgCrafting.hpp @@ -1021,6 +1021,42 @@ class CfgCrafting previewScale = 0.2; previewVector = -1.8; }; + class KitVehicleUpgradeI_100_EPOCH : Kit + { + recipe = { {"ItemVehDoc1",1}, {"CircuitParts",1}, {"ItemCables",1}, {"VehicleRepairLg",2} }; + previewPosition[] = {0.801715,1,0.331674}; + previewScale = 1.5; + previewVector = 0.3; + }; + class KitVehicleUpgradeI_200_EPOCH : KitVehicleUpgradeI_100_EPOCH{}; + class KitVehicleUpgradeI_300_EPOCH : KitVehicleUpgradeI_100_EPOCH{}; + class KitVehicleUpgradeII_100_EPOCH : Kit + { + recipe = { {"ItemVehDoc2",1}, {"SpareTire",1}, {"KitTankTrap",2}, {"ItemAluminumBar10oz",2} }; + previewPosition[] = {0.801715,1,0.331674}; + previewScale = 1.5; + previewVector = 0.3; + }; + class KitVehicleUpgradeII_200_EPOCH : KitVehicleUpgradeII_100_EPOCH{}; + class KitVehicleUpgradeII_300_EPOCH : KitVehicleUpgradeII_100_EPOCH{}; + class KitVehicleUpgradeIII_100_EPOCH : Kit + { + recipe = { {"ItemVehDoc2",1}, {"ItemPipes",2}, {"KitShelf",2}, {"ItemBurlap",2} }; + previewPosition[] = {0.801715,1,0.331674}; + previewScale = 1.5; + previewVector = 0.3; + }; + class KitVehicleUpgradeIII_200_EPOCH : KitVehicleUpgradeIII_100_EPOCH{}; + class KitVehicleUpgradeIII_300_EPOCH : KitVehicleUpgradeIII_100_EPOCH{}; + class KitVehicleUpgradeIV_100_EPOCH : Kit + {, + recipe = { {"ItemVehDoc2",1}, {"CircuitParts",1}, {"ItemScraps",2}, {"jerrycan_epoch",2} }; + previewPosition[] = {0.801715,1,0.331674}; + previewScale = 1.5; + previewVector = 0.3; + }; + class KitVehicleUpgradeIV_200_EPOCH : KitVehicleUpgradeIV_100_EPOCH{}; + class KitVehicleUpgradeIV_300_EPOCH : KitVehicleUpgradeIV_100_EPOCH{}; }; /*[[[end]]]*/ From 7db5f1c36d6873fa378936f34e26db903aca78b3 Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Wed, 5 Jul 2017 16:11:34 -0500 Subject: [PATCH 10/18] Fix config class array --- Sources/epoch_config/Configs/cfgCrafting.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/epoch_config/Configs/cfgCrafting.hpp b/Sources/epoch_config/Configs/cfgCrafting.hpp index e2d22254..ebabc277 100644 --- a/Sources/epoch_config/Configs/cfgCrafting.hpp +++ b/Sources/epoch_config/Configs/cfgCrafting.hpp @@ -1023,7 +1023,7 @@ class CfgCrafting }; class KitVehicleUpgradeI_100_EPOCH : Kit { - recipe = { {"ItemVehDoc1",1}, {"CircuitParts",1}, {"ItemCables",1}, {"VehicleRepairLg",2} }; + recipe[] = { {"ItemVehDoc1",1}, {"CircuitParts",1}, {"ItemCables",1}, {"VehicleRepairLg",2} }; previewPosition[] = {0.801715,1,0.331674}; previewScale = 1.5; previewVector = 0.3; @@ -1032,7 +1032,7 @@ class CfgCrafting class KitVehicleUpgradeI_300_EPOCH : KitVehicleUpgradeI_100_EPOCH{}; class KitVehicleUpgradeII_100_EPOCH : Kit { - recipe = { {"ItemVehDoc2",1}, {"SpareTire",1}, {"KitTankTrap",2}, {"ItemAluminumBar10oz",2} }; + recipe[] = { {"ItemVehDoc2",1}, {"SpareTire",1}, {"KitTankTrap",2}, {"ItemAluminumBar10oz",2} }; previewPosition[] = {0.801715,1,0.331674}; previewScale = 1.5; previewVector = 0.3; @@ -1041,7 +1041,7 @@ class CfgCrafting class KitVehicleUpgradeII_300_EPOCH : KitVehicleUpgradeII_100_EPOCH{}; class KitVehicleUpgradeIII_100_EPOCH : Kit { - recipe = { {"ItemVehDoc2",1}, {"ItemPipes",2}, {"KitShelf",2}, {"ItemBurlap",2} }; + recipe[] = { {"ItemVehDoc2",1}, {"ItemPipes",2}, {"KitShelf",2}, {"ItemBurlap",2} }; previewPosition[] = {0.801715,1,0.331674}; previewScale = 1.5; previewVector = 0.3; @@ -1050,7 +1050,7 @@ class CfgCrafting class KitVehicleUpgradeIII_300_EPOCH : KitVehicleUpgradeIII_100_EPOCH{}; class KitVehicleUpgradeIV_100_EPOCH : Kit {, - recipe = { {"ItemVehDoc2",1}, {"CircuitParts",1}, {"ItemScraps",2}, {"jerrycan_epoch",2} }; + recipe[] = { {"ItemVehDoc2",1}, {"CircuitParts",1}, {"ItemScraps",2}, {"jerrycan_epoch",2} }; previewPosition[] = {0.801715,1,0.331674}; previewScale = 1.5; previewVector = 0.3; From a151cd21c56f1d16ac3b6b1c82e0d623958eaff8 Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Wed, 5 Jul 2017 16:19:19 -0500 Subject: [PATCH 11/18] Fixes Bad mistakes on my part :( --- Sources/epoch_config/Configs/cfgCrafting.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/epoch_config/Configs/cfgCrafting.hpp b/Sources/epoch_config/Configs/cfgCrafting.hpp index ebabc277..4656d9da 100644 --- a/Sources/epoch_config/Configs/cfgCrafting.hpp +++ b/Sources/epoch_config/Configs/cfgCrafting.hpp @@ -1041,7 +1041,7 @@ class CfgCrafting class KitVehicleUpgradeII_300_EPOCH : KitVehicleUpgradeII_100_EPOCH{}; class KitVehicleUpgradeIII_100_EPOCH : Kit { - recipe[] = { {"ItemVehDoc2",1}, {"ItemPipes",2}, {"KitShelf",2}, {"ItemBurlap",2} }; + recipe[] = { {"ItemVehDoc3",1}, {"ItemPipes",2}, {"KitShelf",2}, {"ItemBurlap",2} }; previewPosition[] = {0.801715,1,0.331674}; previewScale = 1.5; previewVector = 0.3; @@ -1049,8 +1049,8 @@ class CfgCrafting class KitVehicleUpgradeIII_200_EPOCH : KitVehicleUpgradeIII_100_EPOCH{}; class KitVehicleUpgradeIII_300_EPOCH : KitVehicleUpgradeIII_100_EPOCH{}; class KitVehicleUpgradeIV_100_EPOCH : Kit - {, - recipe[] = { {"ItemVehDoc2",1}, {"CircuitParts",1}, {"ItemScraps",2}, {"jerrycan_epoch",2} }; + { + recipe[] = { {"ItemVehDoc4",1}, {"CircuitParts",1}, {"ItemScraps",2}, {"jerrycan_epoch",2} }; previewPosition[] = {0.801715,1,0.331674}; previewScale = 1.5; previewVector = 0.3; From 972328ac0198fe43ca96f5f2bfee8812d9a2557f Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Wed, 5 Jul 2017 17:25:20 -0500 Subject: [PATCH 12/18] Update VehUpgKits recipes The kits are already a crafted item of all required upgrade items, so these should only require themselves when upgrading. --- .../Configs/CfgVehicleUpgrades.hpp | 252 +++++++++++++++++- 1 file changed, 240 insertions(+), 12 deletions(-) diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index 7f8c7724..29fa590c 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -27,9 +27,66 @@ class CfgVehicleUpgrades upgradeToVehicle = "C_SUV_01_EPOCH1"; }; }; - class KitVehicleUpgradeI_100_EPOCH: ItemVehDoc1{}; - class KitVehicleUpgradeI_200_EPOCH: ItemVehDoc1{}; - class KitVehicleUpgradeI_300_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeI_100_EPOCH + { + class C_Hatchback_01_EPOCH + { + ReqMaterials[] = {{1,"KitVehicleUpgradeI_100_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH1"; + }; + class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_Hatchback_02_EPOCH1"; + }; + class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_Offroad_01_EPOCH1"; + }; + class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_SUV_01_EPOCH1"; + }; + }; + class KitVehicleUpgradeI_200_EPOCH + { + class C_Hatchback_01_EPOCH + { + ReqMaterials[] = {{1,"KitVehicleUpgradeI_200_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH1"; + }; + class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_Hatchback_02_EPOCH1"; + }; + class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_Offroad_01_EPOCH1"; + }; + class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_SUV_01_EPOCH1"; + }; + }; + class KitVehicleUpgradeI_300_EPOCH + { + class C_Hatchback_01_EPOCH + { + ReqMaterials[] = {{1,"KitVehicleUpgradeI_300_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH1"; + }; + class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_Hatchback_02_EPOCH1"; + }; + class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_Offroad_01_EPOCH1"; + }; + class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "C_SUV_01_EPOCH1"; + }; + }; class ItemVehDoc2 { class C_Hatchback_01_EPOCH1 @@ -50,9 +107,66 @@ class CfgVehicleUpgrades upgradeToVehicle = "C_SUV_01_EPOCH2"; }; }; - class KitVehicleUpgradeII_100_EPOCH: ItemVehDoc2{}; - class KitVehicleUpgradeII_200_EPOCH: ItemVehDoc2{}; - class KitVehicleUpgradeII_300_EPOCH: ItemVehDoc2{}; + class KitVehicleUpgradeII_100_EPOCH + { + class C_Hatchback_01_EPOCH1 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeII_100_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH2"; + }; + class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH2"; + }; + class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_Offroad_01_EPOCH2"; + }; + class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_SUV_01_EPOCH2"; + }; + }; + class KitVehicleUpgradeII_200_EPOCH + { + class C_Hatchback_01_EPOCH1 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeII_200_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH2"; + }; + class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH2"; + }; + class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_Offroad_01_EPOCH2"; + }; + class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_SUV_01_EPOCH2"; + }; + }; + class KitVehicleUpgradeII_300_EPOCH + { + class C_Hatchback_01_EPOCH1 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeII_300_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH2"; + }; + class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH2"; + }; + class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_Offroad_01_EPOCH2"; + }; + class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "C_SUV_01_EPOCH2"; + }; + }; class ItemVehDoc3 { class C_Hatchback_01_EPOCH2 @@ -73,9 +187,66 @@ class CfgVehicleUpgrades upgradeToVehicle = "C_SUV_01_EPOCH3"; }; }; - class KitVehicleUpgradeIII_100_EPOCH: ItemVehDoc3{}; - class KitVehicleUpgradeIII_200_EPOCH: ItemVehDoc3{}; - class KitVehicleUpgradeIII_300_EPOCH: ItemVehDoc3{}; + class KitVehicleUpgradeIII_100_EPOCH + { + class C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIII_100_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH3"; + }; + class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH3"; + }; + class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_Offroad_01_EPOCH3"; + }; + class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_SUV_01_EPOCH3"; + }; + }; + class KitVehicleUpgradeIII_200_EPOCH + { + class C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIII_200_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH3"; + }; + class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH3"; + }; + class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_Offroad_01_EPOCH3"; + }; + class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_SUV_01_EPOCH3"; + }; + }; + class KitVehicleUpgradeIII_300_EPOCH + { + class C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIII_300_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH3"; + }; + class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH3"; + }; + class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_Offroad_01_EPOCH3"; + }; + class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "C_SUV_01_EPOCH3"; + }; + }; class ItemVehDoc4 { class C_Hatchback_01_EPOCH3 @@ -96,7 +267,64 @@ class CfgVehicleUpgrades upgradeToVehicle = "C_SUV_01_EPOCH4"; }; }; - class KitVehicleUpgradeIV_100_EPOCH: ItemVehDoc1{}; - class KitVehicleUpgradeIV_200_EPOCH: ItemVehDoc1{}; - class KitVehicleUpgradeIV_300_EPOCH: ItemVehDoc1{}; + class KitVehicleUpgradeIV_100_EPOCH + { + class C_Hatchback_01_EPOCH3 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIV_100_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH4"; + }; + class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH4"; + }; + class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_Offroad_01_EPOCH4"; + }; + class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_SUV_01_EPOCH4"; + }; + }; + class KitVehicleUpgradeIV_200_EPOCH + { + class C_Hatchback_01_EPOCH3 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIV_200_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH4"; + }; + class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH4"; + }; + class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_Offroad_01_EPOCH4"; + }; + class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_SUV_01_EPOCH4"; + }; + }; + class KitVehicleUpgradeIV_300_EPOCH + { + class C_Hatchback_01_EPOCH3 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIV_300_EPOCH"}}; + upgradeToVehicle = "C_Hatchback_01_EPOCH4"; + }; + class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_Hatchback_02_EPOCH4"; + }; + class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_Offroad_01_EPOCH4"; + }; + class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "C_SUV_01_EPOCH4"; + }; + }; }; \ No newline at end of file From 43052e9ec77916542f2a90cbcb65eb858a31297f Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Thu, 6 Jul 2017 10:14:12 -0500 Subject: [PATCH 13/18] More Vehicles Upgrades Add in Hunter / Ifrit / Strider vehicle upgrades to configs --- .../Configs/CfgVehicleUpgrades.hpp | 192 ++++++++++++++++++ 1 file changed, 192 insertions(+) diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index 29fa590c..1d43f217 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -26,6 +26,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH1"; }; + class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "B_MRAP_01_EPOCH1"; + }; + class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "O_MRAP_02_EPOCH1"; + }; + class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "I_MRAP_03_EPOCH1"; + }; }; class KitVehicleUpgradeI_100_EPOCH { @@ -46,6 +58,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH1"; }; + class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "B_MRAP_01_EPOCH1"; + }; + class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "O_MRAP_02_EPOCH1"; + }; + class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "I_MRAP_03_EPOCH1"; + }; }; class KitVehicleUpgradeI_200_EPOCH { @@ -66,6 +90,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH1"; }; + class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "B_MRAP_01_EPOCH1"; + }; + class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "O_MRAP_02_EPOCH1"; + }; + class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "I_MRAP_03_EPOCH1"; + }; }; class KitVehicleUpgradeI_300_EPOCH { @@ -86,6 +122,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH1"; }; + class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "B_MRAP_01_EPOCH1"; + }; + class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "O_MRAP_02_EPOCH1"; + }; + class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH + { + upgradeToVehicle = "I_MRAP_03_EPOCH1"; + }; }; class ItemVehDoc2 { @@ -106,6 +154,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH2"; }; + class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "B_MRAP_01_EPOCH2"; + }; + class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "O_MRAP_02_EPOCH2"; + }; + class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "I_MRAP_03_EPOCH2"; + }; }; class KitVehicleUpgradeII_100_EPOCH { @@ -126,6 +186,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH2"; }; + class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "B_MRAP_01_EPOCH2"; + }; + class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "O_MRAP_02_EPOCH2"; + }; + class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "I_MRAP_03_EPOCH2"; + }; }; class KitVehicleUpgradeII_200_EPOCH { @@ -146,6 +218,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH2"; }; + class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "B_MRAP_01_EPOCH2"; + }; + class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "O_MRAP_02_EPOCH2"; + }; + class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "I_MRAP_03_EPOCH2"; + }; }; class KitVehicleUpgradeII_300_EPOCH { @@ -166,6 +250,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH2"; }; + class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "B_MRAP_01_EPOCH2"; + }; + class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "O_MRAP_02_EPOCH2"; + }; + class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 + { + upgradeToVehicle = "I_MRAP_03_EPOCH2"; + }; }; class ItemVehDoc3 { @@ -186,6 +282,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH3"; }; + class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "B_MRAP_01_EPOCH3"; + }; + class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "O_MRAP_02_EPOCH3"; + }; + class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "I_MRAP_03_EPOCH3"; + }; }; class KitVehicleUpgradeIII_100_EPOCH { @@ -206,6 +314,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH3"; }; + class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "B_MRAP_01_EPOCH3"; + }; + class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "O_MRAP_02_EPOCH3"; + }; + class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "I_MRAP_03_EPOCH3"; + }; }; class KitVehicleUpgradeIII_200_EPOCH { @@ -226,6 +346,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH3"; }; + class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "B_MRAP_01_EPOCH3"; + }; + class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "O_MRAP_02_EPOCH3"; + }; + class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "I_MRAP_03_EPOCH3"; + }; }; class KitVehicleUpgradeIII_300_EPOCH { @@ -246,6 +378,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH3"; }; + class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "B_MRAP_01_EPOCH3"; + }; + class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "O_MRAP_02_EPOCH3"; + }; + class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 + { + upgradeToVehicle = "I_MRAP_03_EPOCH3"; + }; }; class ItemVehDoc4 { @@ -266,6 +410,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH4"; }; + class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "B_MRAP_01_EPOCH4"; + }; + class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "O_MRAP_02_EPOCH4"; + }; + class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "I_MRAP_03_EPOCH4"; + }; }; class KitVehicleUpgradeIV_100_EPOCH { @@ -286,6 +442,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH4"; }; + class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "B_MRAP_01_EPOCH4"; + }; + class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "O_MRAP_02_EPOCH4"; + }; + class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "I_MRAP_03_EPOCH4"; + }; }; class KitVehicleUpgradeIV_200_EPOCH { @@ -306,6 +474,18 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH4"; }; + class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "B_MRAP_01_EPOCH4"; + }; + class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "O_MRAP_02_EPOCH4"; + }; + class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "I_MRAP_03_EPOCH4"; + }; }; class KitVehicleUpgradeIV_300_EPOCH { @@ -326,5 +506,17 @@ class CfgVehicleUpgrades { upgradeToVehicle = "C_SUV_01_EPOCH4"; }; + class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "B_MRAP_01_EPOCH4"; + }; + class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "O_MRAP_02_EPOCH4"; + }; + class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 + { + upgradeToVehicle = "I_MRAP_03_EPOCH4"; + }; }; }; \ No newline at end of file From 0817764cad19a820d00ec82a57ac946cae6ea20b Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Thu, 6 Jul 2017 10:20:37 -0500 Subject: [PATCH 14/18] Clean Up --- .../Configs/CfgVehicleUpgrades.hpp | 480 ++++-------------- 1 file changed, 96 insertions(+), 384 deletions(-) diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index 1d43f217..0c253bfc 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -14,30 +14,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"ItemVehDoc1"},{1,"ItemCables"},{1,"CircuitParts"},{2,"VehicleRepairLg"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH1"; }; - class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_Hatchback_02_EPOCH1"; - }; - class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_Offroad_01_EPOCH1"; - }; - class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_SUV_01_EPOCH1"; - }; - class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "B_MRAP_01_EPOCH1"; - }; - class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "O_MRAP_02_EPOCH1"; - }; - class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "I_MRAP_03_EPOCH1"; - }; + class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_Hatchback_02_EPOCH1"; }; + class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_Offroad_01_EPOCH1"; }; + class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_SUV_01_EPOCH1"; }; + class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "B_MRAP_01_EPOCH1"; }; + class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "O_MRAP_02_EPOCH1"; }; + class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "I_MRAP_03_EPOCH1"; }; }; class KitVehicleUpgradeI_100_EPOCH { @@ -46,30 +28,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeI_100_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH1"; }; - class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_Hatchback_02_EPOCH1"; - }; - class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_Offroad_01_EPOCH1"; - }; - class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_SUV_01_EPOCH1"; - }; - class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "B_MRAP_01_EPOCH1"; - }; - class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "O_MRAP_02_EPOCH1"; - }; - class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "I_MRAP_03_EPOCH1"; - }; + class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_Hatchback_02_EPOCH1"; }; + class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_Offroad_01_EPOCH1"; }; + class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_SUV_01_EPOCH1"; }; + class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "B_MRAP_01_EPOCH1"; }; + class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "O_MRAP_02_EPOCH1"; }; + class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "I_MRAP_03_EPOCH1"; }; }; class KitVehicleUpgradeI_200_EPOCH { @@ -78,30 +42,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeI_200_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH1"; }; - class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_Hatchback_02_EPOCH1"; - }; - class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_Offroad_01_EPOCH1"; - }; - class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_SUV_01_EPOCH1"; - }; - class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "B_MRAP_01_EPOCH1"; - }; - class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "O_MRAP_02_EPOCH1"; - }; - class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "I_MRAP_03_EPOCH1"; - }; + class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_Hatchback_02_EPOCH1"; }; + class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_Offroad_01_EPOCH1"; }; + class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_SUV_01_EPOCH1"; }; + class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "B_MRAP_01_EPOCH1"; }; + class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "O_MRAP_02_EPOCH1"; }; + class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "I_MRAP_03_EPOCH1"; }; }; class KitVehicleUpgradeI_300_EPOCH { @@ -110,30 +56,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeI_300_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH1"; }; - class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_Hatchback_02_EPOCH1"; - }; - class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_Offroad_01_EPOCH1"; - }; - class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "C_SUV_01_EPOCH1"; - }; - class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "B_MRAP_01_EPOCH1"; - }; - class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "O_MRAP_02_EPOCH1"; - }; - class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH - { - upgradeToVehicle = "I_MRAP_03_EPOCH1"; - }; + class C_Hatchback_02_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_Hatchback_02_EPOCH1"; }; + class C_Offroad_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_Offroad_01_EPOCH1"; }; + class C_SUV_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "C_SUV_01_EPOCH1"; }; + class B_MRAP_01_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "B_MRAP_01_EPOCH1"; }; + class O_MRAP_02_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "O_MRAP_02_EPOCH1"; }; + class I_MRAP_03_EPOCH: C_Hatchback_01_EPOCH { upgradeToVehicle = "I_MRAP_03_EPOCH1"; }; }; class ItemVehDoc2 { @@ -142,30 +70,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"ItemVehDoc2"},{2,"SpareTire"},{2,"KitTankTrap"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH2"; }; - class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH2"; - }; - class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_Offroad_01_EPOCH2"; - }; - class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_SUV_01_EPOCH2"; - }; - class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "B_MRAP_01_EPOCH2"; - }; - class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "O_MRAP_02_EPOCH2"; - }; - class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "I_MRAP_03_EPOCH2"; - }; + class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_Hatchback_02_EPOCH2"; }; + class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_Offroad_01_EPOCH2"; }; + class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_SUV_01_EPOCH2"; }; + class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "B_MRAP_01_EPOCH2"; }; + class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "O_MRAP_02_EPOCH2"; }; + class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "I_MRAP_03_EPOCH2"; }; }; class KitVehicleUpgradeII_100_EPOCH { @@ -174,30 +84,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeII_100_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH2"; }; - class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH2"; - }; - class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_Offroad_01_EPOCH2"; - }; - class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_SUV_01_EPOCH2"; - }; - class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "B_MRAP_01_EPOCH2"; - }; - class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "O_MRAP_02_EPOCH2"; - }; - class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "I_MRAP_03_EPOCH2"; - }; + class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_Hatchback_02_EPOCH2"; }; + class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_Offroad_01_EPOCH2"; }; + class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_SUV_01_EPOCH2"; }; + class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "B_MRAP_01_EPOCH2"; }; + class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "O_MRAP_02_EPOCH2"; }; + class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "I_MRAP_03_EPOCH2"; }; }; class KitVehicleUpgradeII_200_EPOCH { @@ -206,30 +98,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeII_200_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH2"; }; - class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH2"; - }; - class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_Offroad_01_EPOCH2"; - }; - class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_SUV_01_EPOCH2"; - }; - class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "B_MRAP_01_EPOCH2"; - }; - class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "O_MRAP_02_EPOCH2"; - }; - class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "I_MRAP_03_EPOCH2"; - }; + class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_Hatchback_02_EPOCH2"; }; + class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_Offroad_01_EPOCH2"; }; + class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_SUV_01_EPOCH2"; }; + class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "B_MRAP_01_EPOCH2"; }; + class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "O_MRAP_02_EPOCH2"; }; + class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "I_MRAP_03_EPOCH2"; }; }; class KitVehicleUpgradeII_300_EPOCH { @@ -238,30 +112,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeII_300_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH2"; }; - class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH2"; - }; - class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_Offroad_01_EPOCH2"; - }; - class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "C_SUV_01_EPOCH2"; - }; - class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "B_MRAP_01_EPOCH2"; - }; - class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "O_MRAP_02_EPOCH2"; - }; - class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 - { - upgradeToVehicle = "I_MRAP_03_EPOCH2"; - }; + class C_Hatchback_02_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_Hatchback_02_EPOCH2"; }; + class C_Offroad_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_Offroad_01_EPOCH2"; }; + class C_SUV_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "C_SUV_01_EPOCH2"; }; + class B_MRAP_01_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "B_MRAP_01_EPOCH2"; }; + class O_MRAP_02_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "O_MRAP_02_EPOCH2"; }; + class I_MRAP_03_EPOCH1: C_Hatchback_01_EPOCH1 { upgradeToVehicle = "I_MRAP_03_EPOCH2"; }; }; class ItemVehDoc3 { @@ -270,30 +126,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"ItemVehDoc3"},{2,"ItemPipe"},{2,"KitShelf"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH3"; }; - class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH3"; - }; - class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_Offroad_01_EPOCH3"; - }; - class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_SUV_01_EPOCH3"; - }; - class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "B_MRAP_01_EPOCH3"; - }; - class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "O_MRAP_02_EPOCH3"; - }; - class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "I_MRAP_03_EPOCH3"; - }; + class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Hatchback_02_EPOCH3"; }; + class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Offroad_01_EPOCH3"; }; + class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_SUV_01_EPOCH3"; }; + class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "B_MRAP_01_EPOCH3"; }; + class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_MRAP_02_EPOCH3"; }; + class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "I_MRAP_03_EPOCH3"; }; }; class KitVehicleUpgradeIII_100_EPOCH { @@ -302,30 +140,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeIII_100_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH3"; }; - class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH3"; - }; - class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_Offroad_01_EPOCH3"; - }; - class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_SUV_01_EPOCH3"; - }; - class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "B_MRAP_01_EPOCH3"; - }; - class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "O_MRAP_02_EPOCH3"; - }; - class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "I_MRAP_03_EPOCH3"; - }; + class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Hatchback_02_EPOCH3"; }; + class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Offroad_01_EPOCH3"; }; + class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_SUV_01_EPOCH3"; }; + class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "B_MRAP_01_EPOCH3"; }; + class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_MRAP_02_EPOCH3"; }; + class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "I_MRAP_03_EPOCH3"; }; }; class KitVehicleUpgradeIII_200_EPOCH { @@ -334,30 +154,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeIII_200_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH3"; }; - class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH3"; - }; - class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_Offroad_01_EPOCH3"; - }; - class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_SUV_01_EPOCH3"; - }; - class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "B_MRAP_01_EPOCH3"; - }; - class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "O_MRAP_02_EPOCH3"; - }; - class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "I_MRAP_03_EPOCH3"; - }; + class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Hatchback_02_EPOCH3"; }; + class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Offroad_01_EPOCH3"; }; + class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_SUV_01_EPOCH3"; }; + class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "B_MRAP_01_EPOCH3"; }; + class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_MRAP_02_EPOCH3"; }; + class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "I_MRAP_03_EPOCH3"; }; }; class KitVehicleUpgradeIII_300_EPOCH { @@ -366,30 +168,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeIII_300_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH3"; }; - class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH3"; - }; - class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_Offroad_01_EPOCH3"; - }; - class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "C_SUV_01_EPOCH3"; - }; - class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "B_MRAP_01_EPOCH3"; - }; - class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "O_MRAP_02_EPOCH3"; - }; - class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 - { - upgradeToVehicle = "I_MRAP_03_EPOCH3"; - }; + class C_Hatchback_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Hatchback_02_EPOCH3"; }; + class C_Offroad_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Offroad_01_EPOCH3"; }; + class C_SUV_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_SUV_01_EPOCH3"; }; + class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "B_MRAP_01_EPOCH3"; }; + class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_MRAP_02_EPOCH3"; }; + class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "I_MRAP_03_EPOCH3"; }; }; class ItemVehDoc4 { @@ -398,30 +182,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"ItemVehDoc3"},{1,"CircuitParts"},{2,"ItemScraps"},{2,"jerrycan_epoch"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH4"; }; - class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH4"; - }; - class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_Offroad_01_EPOCH4"; - }; - class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_SUV_01_EPOCH4"; - }; - class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "B_MRAP_01_EPOCH4"; - }; - class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "O_MRAP_02_EPOCH4"; - }; - class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "I_MRAP_03_EPOCH4"; - }; + class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Hatchback_02_EPOCH4"; }; + class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Offroad_01_EPOCH4"; }; + class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_SUV_01_EPOCH4"; }; + class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "B_MRAP_01_EPOCH4"; }; + class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_MRAP_02_EPOCH4"; }; + class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; }; class KitVehicleUpgradeIV_100_EPOCH { @@ -430,30 +196,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeIV_100_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH4"; }; - class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH4"; - }; - class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_Offroad_01_EPOCH4"; - }; - class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_SUV_01_EPOCH4"; - }; - class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "B_MRAP_01_EPOCH4"; - }; - class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "O_MRAP_02_EPOCH4"; - }; - class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "I_MRAP_03_EPOCH4"; - }; + class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Hatchback_02_EPOCH4"; }; + class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Offroad_01_EPOCH4"; }; + class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_SUV_01_EPOCH4"; }; + class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "B_MRAP_01_EPOCH4"; }; + class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_MRAP_02_EPOCH4"; }; + class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; }; class KitVehicleUpgradeIV_200_EPOCH { @@ -462,30 +210,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeIV_200_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH4"; }; - class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH4"; - }; - class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_Offroad_01_EPOCH4"; - }; - class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_SUV_01_EPOCH4"; - }; - class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "B_MRAP_01_EPOCH4"; - }; - class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "O_MRAP_02_EPOCH4"; - }; - class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "I_MRAP_03_EPOCH4"; - }; + class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Hatchback_02_EPOCH4"; }; + class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Offroad_01_EPOCH4"; }; + class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_SUV_01_EPOCH4"; }; + class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "B_MRAP_01_EPOCH4"; }; + class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_MRAP_02_EPOCH4"; }; + class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; }; class KitVehicleUpgradeIV_300_EPOCH { @@ -494,29 +224,11 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeIV_300_EPOCH"}}; upgradeToVehicle = "C_Hatchback_01_EPOCH4"; }; - class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_Hatchback_02_EPOCH4"; - }; - class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_Offroad_01_EPOCH4"; - }; - class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "C_SUV_01_EPOCH4"; - }; - class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "B_MRAP_01_EPOCH4"; - }; - class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "O_MRAP_02_EPOCH4"; - }; - class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 - { - upgradeToVehicle = "I_MRAP_03_EPOCH4"; - }; + class C_Hatchback_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Hatchback_02_EPOCH4"; }; + class C_Offroad_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Offroad_01_EPOCH4"; }; + class C_SUV_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_SUV_01_EPOCH4"; }; + class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "B_MRAP_01_EPOCH4"; }; + class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_MRAP_02_EPOCH4"; }; + class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; }; }; \ No newline at end of file From 8445a328f45acd7602729eeafb686da9c2d380e1 Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Thu, 6 Jul 2017 14:01:41 -0500 Subject: [PATCH 15/18] Van veh upg Van transport and van box vehicle upgrades 3 and 4 added to recipes. transport can be upgraded into box with more materials --- .../Configs/CfgVehicleUpgrades.hpp | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index 0c253bfc..ac365a4c 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -132,6 +132,12 @@ class CfgVehicleUpgrades class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "B_MRAP_01_EPOCH3"; }; class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_MRAP_02_EPOCH3"; }; class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "I_MRAP_03_EPOCH3"; }; + class C_Van_01_box_EPOCH: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Van_01_box_EPOCH3"; }; + class C_Van_01_transport_EPOCH: C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"ItemVehDoc3"},{5,"ItemCorrugatedLg"},{8,"ItemPipe"},{4,"KitShelf"}}; + upgradeToVehicle = "C_Van_01_transport_EPOCH3"; + }; }; class KitVehicleUpgradeIII_100_EPOCH { @@ -146,6 +152,12 @@ class CfgVehicleUpgrades class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "B_MRAP_01_EPOCH3"; }; class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_MRAP_02_EPOCH3"; }; class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "I_MRAP_03_EPOCH3"; }; + class C_Van_01_box_EPOCH: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Van_01_box_EPOCH3"; }; + class C_Van_01_transport_EPOCH: C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIII_100_EPOCH"},{5,"ItemCorrugatedLg"},{6,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "C_Van_01_transport_EPOCH3"; + }; }; class KitVehicleUpgradeIII_200_EPOCH { @@ -160,6 +172,12 @@ class CfgVehicleUpgrades class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "B_MRAP_01_EPOCH3"; }; class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_MRAP_02_EPOCH3"; }; class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "I_MRAP_03_EPOCH3"; }; + class C_Van_01_box_EPOCH: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Van_01_box_EPOCH3"; }; + class C_Van_01_transport_EPOCH: C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIII_200_EPOCH"},{5,"ItemCorrugatedLg"},{6,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "C_Van_01_transport_EPOCH3"; + }; }; class KitVehicleUpgradeIII_300_EPOCH { @@ -174,6 +192,12 @@ class CfgVehicleUpgrades class B_MRAP_01_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "B_MRAP_01_EPOCH3"; }; class O_MRAP_02_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_MRAP_02_EPOCH3"; }; class I_MRAP_03_EPOCH2: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "I_MRAP_03_EPOCH3"; }; + class C_Van_01_box_EPOCH: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "C_Van_01_box_EPOCH3"; }; + class C_Van_01_transport_EPOCH: C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIII_300_EPOCH"},{5,"ItemCorrugatedLg"},{6,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "C_Van_01_transport_EPOCH3"; + }; }; class ItemVehDoc4 { @@ -188,6 +212,8 @@ class CfgVehicleUpgrades class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "B_MRAP_01_EPOCH4"; }; class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_MRAP_02_EPOCH4"; }; class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; + class C_Van_01_box_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_box_EPOCH4"; }; + class C_Van_01_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_transport_EPOCH4"; }; }; class KitVehicleUpgradeIV_100_EPOCH { @@ -202,6 +228,8 @@ class CfgVehicleUpgrades class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "B_MRAP_01_EPOCH4"; }; class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_MRAP_02_EPOCH4"; }; class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; + class C_Van_01_box_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_box_EPOCH4"; }; + class C_Van_01_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_transport_EPOCH4"; }; }; class KitVehicleUpgradeIV_200_EPOCH { @@ -216,6 +244,8 @@ class CfgVehicleUpgrades class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "B_MRAP_01_EPOCH4"; }; class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_MRAP_02_EPOCH4"; }; class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; + class C_Van_01_box_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_box_EPOCH4"; }; + class C_Van_01_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_transport_EPOCH4"; }; }; class KitVehicleUpgradeIV_300_EPOCH { @@ -230,5 +260,7 @@ class CfgVehicleUpgrades class B_MRAP_01_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "B_MRAP_01_EPOCH4"; }; class O_MRAP_02_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_MRAP_02_EPOCH4"; }; class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; + class C_Van_01_box_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_box_EPOCH4"; }; + class C_Van_01_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_transport_EPOCH4"; }; }; }; \ No newline at end of file From 3fd8a502f737a63ea3cd029c3a47a541b450af1e Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Thu, 6 Jul 2017 14:20:29 -0500 Subject: [PATCH 16/18] Zamak veh upg recipes --- .../Configs/CfgVehicleUpgrades.hpp | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index ac365a4c..83855dc7 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -138,6 +138,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"ItemVehDoc3"},{5,"ItemCorrugatedLg"},{8,"ItemPipe"},{4,"KitShelf"}}; upgradeToVehicle = "C_Van_01_transport_EPOCH3"; }; + class O_Truck_02_covered_EPOCH: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_Truck_02_covered_EPOCH3"; }; + class O_Truck_02_transport_EPOCH: C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"ItemVehDoc3"},{6,"ItemBurlap"},{6,"ItemPipe"},{4,"KitShelf"}}; + upgradeToVehicle = "O_Truck_02_transport_EPOCH3"; + }; }; class KitVehicleUpgradeIII_100_EPOCH { @@ -158,6 +164,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeIII_100_EPOCH"},{5,"ItemCorrugatedLg"},{6,"ItemPipe"},{2,"KitShelf"}}; upgradeToVehicle = "C_Van_01_transport_EPOCH3"; }; + class O_Truck_02_covered_EPOCH: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_Truck_02_covered_EPOCH3"; }; + class O_Truck_02_transport_EPOCH: C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIII_100_EPOCH"},{6,"ItemBurlap"},{4,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "O_Truck_02_transport_EPOCH3"; + }; }; class KitVehicleUpgradeIII_200_EPOCH { @@ -178,6 +190,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeIII_200_EPOCH"},{5,"ItemCorrugatedLg"},{6,"ItemPipe"},{2,"KitShelf"}}; upgradeToVehicle = "C_Van_01_transport_EPOCH3"; }; + class O_Truck_02_covered_EPOCH: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_Truck_02_covered_EPOCH3"; }; + class O_Truck_02_transport_EPOCH: C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIII_100_EPOCH"},{6,"ItemBurlap"},{4,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "O_Truck_02_transport_EPOCH3"; + }; }; class KitVehicleUpgradeIII_300_EPOCH { @@ -198,6 +216,12 @@ class CfgVehicleUpgrades ReqMaterials[] = {{1,"KitVehicleUpgradeIII_300_EPOCH"},{5,"ItemCorrugatedLg"},{6,"ItemPipe"},{2,"KitShelf"}}; upgradeToVehicle = "C_Van_01_transport_EPOCH3"; }; + class O_Truck_02_covered_EPOCH: C_Hatchback_01_EPOCH2 { upgradeToVehicle = "O_Truck_02_covered_EPOCH3"; }; + class O_Truck_02_transport_EPOCH: C_Hatchback_01_EPOCH2 + { + ReqMaterials[] = {{1,"KitVehicleUpgradeIII_100_EPOCH"},{6,"ItemBurlap"},{4,"ItemPipe"},{2,"KitShelf"}}; + upgradeToVehicle = "O_Truck_02_transport_EPOCH3"; + }; }; class ItemVehDoc4 { @@ -214,6 +238,8 @@ class CfgVehicleUpgrades class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; class C_Van_01_box_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_box_EPOCH4"; }; class C_Van_01_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_transport_EPOCH4"; }; + class O_Truck_02_covered_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_covered_EPOCH4"; }; + class O_Truck_02_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_transport_EPOCH4"; }; }; class KitVehicleUpgradeIV_100_EPOCH { @@ -230,6 +256,8 @@ class CfgVehicleUpgrades class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; class C_Van_01_box_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_box_EPOCH4"; }; class C_Van_01_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_transport_EPOCH4"; }; + class O_Truck_02_covered_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_covered_EPOCH4"; }; + class O_Truck_02_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_transport_EPOCH4"; }; }; class KitVehicleUpgradeIV_200_EPOCH { @@ -246,6 +274,8 @@ class CfgVehicleUpgrades class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; class C_Van_01_box_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_box_EPOCH4"; }; class C_Van_01_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_transport_EPOCH4"; }; + class O_Truck_02_covered_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_covered_EPOCH4"; }; + class O_Truck_02_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_transport_EPOCH4"; }; }; class KitVehicleUpgradeIV_300_EPOCH { @@ -262,5 +292,7 @@ class CfgVehicleUpgrades class I_MRAP_03_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "I_MRAP_03_EPOCH4"; }; class C_Van_01_box_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_box_EPOCH4"; }; class C_Van_01_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "C_Van_01_transport_EPOCH4"; }; + class O_Truck_02_covered_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_covered_EPOCH4"; }; + class O_Truck_02_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_transport_EPOCH4"; }; }; }; \ No newline at end of file From 98f7e92e9f4548e7d7fdcc9efef1d36fb4f370b0 Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Thu, 6 Jul 2017 19:19:36 -0500 Subject: [PATCH 17/18] Rare Document Upgrades new item was created Top Secret(Rare Document) for special vehicle upgrades --- Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index 83855dc7..dc53a376 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -295,4 +295,16 @@ class CfgVehicleUpgrades class O_Truck_02_covered_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_covered_EPOCH4"; }; class O_Truck_02_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_transport_EPOCH4"; }; }; + class ItemVehDoc5 {}; + class ItemVehDocRara + { + class K01 + { + ReqMaterials[] = {{1,"ItemVehDocRara"},{2,"PaintCanOra"},{4,"ItemPipe"},{2,"jerrycan_epoch"}}; + upgradeToVehicle = "mosquito_epoch"; + }; + class K02: K01{}; + class K03: K01{}; + class K04: K01{}; + }; }; \ No newline at end of file From ff8c2a27cd3ba26de81fbaa0f00faf28508b9c6f Mon Sep 17 00:00:00 2001 From: "DESKTOP-UH65DCE\\MusTanG" Date: Thu, 6 Jul 2017 19:53:00 -0500 Subject: [PATCH 18/18] Offroad 5th upgrade(Rare) Remove unknown Document Add recipe for Police Offroad Adds police lights and siren to the offroad. --- Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp index dc53a376..787a3d6e 100644 --- a/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp +++ b/Sources/epoch_config/Configs/CfgVehicleUpgrades.hpp @@ -295,7 +295,6 @@ class CfgVehicleUpgrades class O_Truck_02_covered_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_covered_EPOCH4"; }; class O_Truck_02_transport_EPOCH3: C_Hatchback_01_EPOCH3 { upgradeToVehicle = "O_Truck_02_transport_EPOCH4"; }; }; - class ItemVehDoc5 {}; class ItemVehDocRara { class K01 @@ -307,4 +306,9 @@ class CfgVehicleUpgrades class K03: K01{}; class K04: K01{}; }; + class C_Offroad_01_EPOCH4 + { + ReqMaterials[] = {{1,"ItemVehDocRara"},{1,"PaintCanBlu"},{1,"PaintCanRed"},{1,"CircuitParts"},{1,"ItemBattery"}}; + upgradeToVehicle = "C_Offroad_01_EPOCH5"; + }; }; \ No newline at end of file