diff --git a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Castle.hpp b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Castle.hpp
index d0014ca4d..4728ce0d2 100644
--- a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Castle.hpp
+++ b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Castle.hpp
@@ -22,7 +22,7 @@ Castle[] =
{Loot_MAGAZINE, 1, equip_Crossbow_Kit},
{Loot_MAGAZINE, 3, equip_rope},
{Loot_MAGAZINE, 4, PartWoodPile},
- {Loot_MAGAZINE, 1, ItemPadlock},
+ {Loot_MAGAZINE, 1, ItemComboLock},
{Loot_MAGAZINE, 1, ItemTent},
{Loot_MAGAZINE, 1, ItemCamoNet},
diff --git a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Construction.hpp b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Construction.hpp
index b665990a8..43d7eec67 100644
--- a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Construction.hpp
+++ b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Construction.hpp
@@ -1,13 +1,13 @@
Construction[] =
{
- {Loot_MAGAZINE, 9, ItemLog},
+ {Loot_MAGAZINE, 9, ItemLog}, // Used for crafting and vanilla buildables
{Loot_MAGAZINE, 9, ItemPlank},
- {Loot_MAGAZINE, 5, ItemStone},
+ {Loot_MAGAZINE, 5, ItemStone}, // Used for crafting and vanilla buildables
{Loot_MAGAZINE, 8, equip_nails},
{Loot_MAGAZINE, 9, equip_metal_sheet_rusted},
{Loot_MAGAZINE, 9, equip_metal_sheet},
{Loot_MAGAZINE, 1, equip_lever},
- {Loot_MAGAZINE, 1, ItemPadlock},
+ {Loot_MAGAZINE, 1, ItemComboLock},
{Loot_WEAPON, 1, ItemPickaxe},
{Loot_WEAPON, 2, ItemPickaxeBroken},
diff --git a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Residential.hpp b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Residential.hpp
index a8a121e07..c13edc097 100644
--- a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Residential.hpp
+++ b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Residential.hpp
@@ -23,7 +23,7 @@ Residential[] =
{Loot_GROUP, 4, backpacks},
//Other
- {Loot_MAGAZINE, 0.5, ItemPadlock},
+ {Loot_MAGAZINE, 0.5, ItemComboLock},
{Loot_MAGAZINE, 1, PartPlywoodPack},
{Loot_PILE, 6, AmmoCivilian, 1, 2},
@@ -45,7 +45,7 @@ ResidentialSmall[] =
{Loot_WEAPON, 5, ItemCompass},
{Loot_WEAPON, 5, ItemKnife},
{Loot_WEAPON, 1, Binocular},
- {Loot_MAGAZINE, 0.5, ItemPadlock},
+ {Loot_MAGAZINE, 0.5, ItemComboLock},
{Loot_GROUP, 6, AmmoCivilian},
{Loot_GROUP, 10, Trash},
{Loot_GROUP, 10, Consumable},
diff --git a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/ResidentialRuins.hpp b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/ResidentialRuins.hpp
index 390ee2d2a..b6b99f739 100644
--- a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/ResidentialRuins.hpp
+++ b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/ResidentialRuins.hpp
@@ -1,7 +1,7 @@
ResidentialRuins[] =
{
- {Loot_MAGAZINE, 10, ItemLog},
- {Loot_MAGAZINE, 10, ItemStone},
+ {Loot_MAGAZINE, 10, ItemLog}, // Used for crafting and vanilla buildables
+ {Loot_MAGAZINE, 10, ItemStone}, // Used for crafting and vanilla buildables
{Loot_MAGAZINE, 7, equip_metal_sheet_rusted},
{Loot_GROUP, 4, Trash},
{Loot_GROUP, 3, AttachmentsGeneric}
diff --git a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Supermarket.hpp b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Supermarket.hpp
index 9310bb608..2fe3a9317 100644
--- a/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Supermarket.hpp
+++ b/SQF/dayz_code/Configs/CfgLoot/Groups/Buildings/Supermarket.hpp
@@ -29,7 +29,7 @@ Supermarket[] =
{Loot_MAGAZINE, 1, PartPlywoodPack},
//{Loot_MAGAZINE, 0.5, ItemDomeTent}, //IN TENTS GROUP
{Loot_MAGAZINE, 1, ItemCamoNet},
- {Loot_MAGAZINE, 0.5, ItemPadlock},
+ {Loot_MAGAZINE, 0.5, ItemComboLock},
{Loot_MAGAZINE, 3, ItemBandage},
{Loot_MAGAZINE, 2, ItemPainkiller},
{Loot_MAGAZINE, 2, ItemAntibacterialWipe},
@@ -55,7 +55,7 @@ SupermarketSmall[] =
{Loot_WEAPON, 3, Binocular},
{Loot_GROUP, 10, pistols},
{Loot_MAGAZINE, 1, ItemMixOil},
- {Loot_MAGAZINE, 0.5, ItemPadlock},
+ {Loot_MAGAZINE, 0.5, ItemComboLock},
{Loot_MAGAZINE, 3, ItemBandage},
{Loot_MAGAZINE, 2, ItemPainkiller},
{Loot_MAGAZINE, 2, ItemAntibacterialWipe},
diff --git a/SQF/dayz_code/Configs/CfgMagazines/Items/Padlock.hpp b/SQF/dayz_code/Configs/CfgMagazines/Items/Padlock.hpp
index fa2fcca23..db9f323f4 100644
--- a/SQF/dayz_code/Configs/CfgMagazines/Items/Padlock.hpp
+++ b/SQF/dayz_code/Configs/CfgMagazines/Items/Padlock.hpp
@@ -1,4 +1,4 @@
-class ItemPadlock: CA_Magazine
+class ItemPadlock: CA_Magazine //Vanilla lock, left in config for potential admin use, but all scripts changed to use Epoch ItemComboLock
{
scope = public;
count = 1;
diff --git a/SQF/dayz_code/Configs/CfgMagazines/Magazines/762x51.hpp b/SQF/dayz_code/Configs/CfgMagazines/Magazines/762x51.hpp
index b0367a8c1..78f009b98 100644
--- a/SQF/dayz_code/Configs/CfgMagazines/Magazines/762x51.hpp
+++ b/SQF/dayz_code/Configs/CfgMagazines/Magazines/762x51.hpp
@@ -69,4 +69,28 @@ class 200Rnd_762x51_M240 : 100Rnd_762x51_M240 {
displayName = "200Rnd. M240";
count = 200;
descriptionShort = "Caliber: 7.62x51mm NATO
Rounds: 200
Used in: M240, Mk 48 Mod 0";
-};
\ No newline at end of file
+};
+
+class 20Rnd_762x51_B_SCAR : CA_Magazine
+{
+ displayName = $STR_DZ_MAG_20Rnd_762x51_B_SCAR_NAME;
+
+ cartridgeName = "762x51";
+
+ class ItemActions
+ {
+ COMBINE_MAG
+ };
+};
+
+class 20Rnd_762x51_SB_SCAR : CA_Magazine
+{
+ displayName = $STR_DZ_MAG_20Rnd_762x51_SB_SCAR_NAME;
+
+ cartridgeName = "762x51_SD";
+
+ class ItemActions
+ {
+ COMBINE_MAG
+ };
+};
diff --git a/SQF/dayz_code/Configs/CfgMagazines/Magazines/Misc.hpp b/SQF/dayz_code/Configs/CfgMagazines/Magazines/Misc.hpp
index 98911f763..f9a9dde90 100644
--- a/SQF/dayz_code/Configs/CfgMagazines/Magazines/Misc.hpp
+++ b/SQF/dayz_code/Configs/CfgMagazines/Magazines/Misc.hpp
@@ -45,4 +45,62 @@ class 15Rnd_W1866_Slug : CA_Magazine
{
COMBINE_MAG
};
-};
\ No newline at end of file
+};
+
+class 10Rnd_127x99_m107 : CA_Magazine
+{
+ displayName = $STR_DZ_MAG_10Rnd_127x99_m107_NAME;
+
+ cartridgeName = "127x99";
+
+ class ItemActions
+ {
+ COMBINE_MAG
+ };
+};
+
+class 5Rnd_127x108_KSVK : CA_Magazine
+{
+ displayName = $STR_DZ_MAG_5Rnd_127x108_KSVK_NAME;
+
+ cartridgeName = "127x108";
+
+ class ItemActions
+ {
+ COMBINE_MAG
+ };
+};
+
+class 5Rnd_86x70_L115A1: CA_Magazine
+{
+ displayName = $STR_DZ_MAG_5Rnd_86x70_L115A1_NAME;
+
+ cartridgeName = "86x70";
+
+ class ItemActions
+ {
+ COMBINE_MAG
+ };
+};
+class 10Rnd_9x39_SP5_VSS: CA_Magazine
+{
+ displayName = $STR_DZ_MAG_10Rnd_9x39_SP5_VSS_NAME;
+
+ cartridgeName = "9x39";
+
+ class ItemActions
+ {
+ COMBINE_MAG
+ };
+};
+class 20Rnd_9x39_SP5_VSS: CA_Magazine
+{
+ displayName = $STR_DZ_MAG_20Rnd_9x39_SP5_VSS_NAME;
+
+ cartridgeName = "9x39";
+
+ class ItemActions
+ {
+ COMBINE_MAG
+ };
+};
diff --git a/SQF/dayz_code/Configs/CfgVehicles/Car/ArmoredSUV.hpp b/SQF/dayz_code/Configs/CfgVehicles/Car/ArmoredSUV.hpp
index 5dea3427b..0001d5619 100644
--- a/SQF/dayz_code/Configs/CfgVehicles/Car/ArmoredSUV.hpp
+++ b/SQF/dayz_code/Configs/CfgVehicles/Car/ArmoredSUV.hpp
@@ -265,7 +265,7 @@ class ArmoredSUV_PMC_DZ: ArmoredSUV_Base_PMC
typicalCargo[] = {};
enableGPS = 1;
transportMaxWeapons = 20;
- transportMaxMagazines = 400;
+ transportMaxMagazines = 150;
transportmaxbackpacks = 10;
class Turrets: Turrets
{
@@ -333,7 +333,7 @@ class ArmoredSUV_PMC_DZE: ArmoredSUV_Base_PMC
typicalCargo[] = {};
enableGPS = 1;
transportMaxWeapons = 20;
- transportMaxMagazines = 400;
+ transportMaxMagazines = 150;
transportmaxbackpacks = 10;
class Turrets: Turrets
{
@@ -469,7 +469,7 @@ class ArmoredSUV_PMC_DZE2: ArmoredSUV_PMC_DZE1
class ArmoredSUV_PMC_DZE3: ArmoredSUV_PMC_DZE2
{
transportMaxWeapons = 40;
- transportMaxMagazines = 800;
+ transportMaxMagazines = 400;
transportmaxbackpacks = 15;
class Upgrades
{
diff --git a/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp b/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp
index 0a9cf78c8..ed4c86ef5 100644
--- a/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp
+++ b/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp
@@ -782,4 +782,21 @@ class CinderWallDoorSmall_DZ: CinderWallDoor_DZ_Base {
statement="this animate [""Open_door"", 0]";
};
};
+};
+
+/*
+ Vanilla DayZ buildables are defined in \dayz_buildings\configs\
+ Only included here to overwrite vanilla ItemPadlock with Epoch ItemComboLock
+*/
+class WoodenGate_Base;
+class WoodenGate_1: WoodenGate_Base
+{
+ class Upgrade { //to next stage
+ requiredTools[] = {"ItemEtool","ItemToolbox"};
+ requiredParts[] = {"ItemLog","ItemComboLock"};
+ create = "WoodenGate_2";
+ };
+ class Disassembly {
+ requiredTools[] = {"ItemToolbox"};
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_fillBuyableList.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_fillBuyableList.sqf
index c1e4f1ce6..b7a682b68 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_fillBuyableList.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_fillBuyableList.sqf
@@ -1,7 +1,28 @@
-private "_index";
+private ["_index","_count","_type","_name","_weapons"];
#include "defines.hpp"
{
+ _name = _x select 0;
+ _type = _x select 1;
+
+ if (_type == "trade_any_vehicle") then {
+ _count = { local _x } count (nearestObjects [(getPosATL player), [_name], Z_VehicleDistance]);
+ };
+ if (_type == "trade_items") then {
+ _count = {_x == _name} count magazines player;
+ };
+ if (_type == "trade_weapons") then {
+ _weapons = weapons player;
+ _weapons set [count _weapons,dayz_onBack];
+ _count = {_x == _name} count _weapons;
+ };
+ if (_type == "trade_backpacks") then {
+ if (_name == typeOf (unitBackPack player)) then { _count = 1; }
+ };
+
_index = lbAdd [Z_AT_BUYABLELIST, _x select 3];
lbSetPicture [Z_AT_BUYABLELIST, _index, _x select 4 ];
+ if (_count > 0) then {
+ lbSetColor [Z_AT_BUYABLELIST, _index, [0, 1, 0, 1]];
+ };
} count Z_BuyableArray;
diff --git a/SQF/dayz_code/config.cpp b/SQF/dayz_code/config.cpp
index c219b5e37..812c5f599 100644
--- a/SQF/dayz_code/config.cpp
+++ b/SQF/dayz_code/config.cpp
@@ -17,7 +17,7 @@ class CfgPatches
//dayz addons
"dayz",
- "dayz_buildings",
+ "dayz_buildings", // Overwrite classes that use vanilla ItemPadlock with Epoch ItemComboLock
"dayz_communityassets",
"dayz_communityweapons",
"dayz_equip",
diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/BuildingSupplies.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/BuildingSupplies.hpp
index a6a55319d..8781f69c3 100644
--- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/BuildingSupplies.hpp
+++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/BuildingSupplies.hpp
@@ -63,6 +63,10 @@ class ItemScrews
{
weight = 0.005;
};
+class ItemComboLock
+{
+ weight = 0.03;
+};
class ItemPadlock
{
weight = 0.03;
diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml
index 4e9d12218..ad63918fd 100644
--- a/SQF/dayz_code/stringtable.xml
+++ b/SQF/dayz_code/stringtable.xml
@@ -16183,5 +16183,33 @@
You need matches to build a fireplace
+
+ 20Rnd. SCAR mag.
+ 20п. SCAR маг.
+
+
+ 20Rnd. SCAR SD mag.
+ 20п. SCAR SD маг.
+
+
+ 10Rnd. M107 mag.
+ 10п. M107 маг.
+
+
+ 5Rnd. KSVK mag.
+ 5п. KSVK маг.
+
+
+ 5Rnd. L115 mag.
+ 5п. L115 маг.
+
+
+ 20Rnd. VSS mag.
+ 20п. VSS маг.
+
+
+ 10Rnd. VSS mag.
+ 10п. VSS маг.
+
diff --git a/Server Files/SQL/1.0.6_Updates.sql b/Server Files/SQL/1.0.6_Updates.sql
index efa2add6a..2e9790df5 100644
--- a/Server Files/SQL/1.0.6_Updates.sql
+++ b/Server Files/SQL/1.0.6_Updates.sql
@@ -59,6 +59,12 @@ INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["BAF_Merlin_DZE",2]', 2, '[2,"
DELETE FROM `Traders_DATA` WHERE item = '["CH53_DZE",1]';
DELETE FROM `Traders_DATA` WHERE item = '["BAF_Merlin_DZE",1]';
+-- ----------------------------
+-- Swap ArmoredSUV to upgraded version since transportMaxMagazines was decreased on default version (400 --> 150). Upgraded has 400.
+-- ----------------------------
+UPDATE `object_data` SET `Classname` = 'ArmoredSUV_PMC_DZE3' WHERE `Classname` = 'ArmoredSUV_PMC_DZ';
+UPDATE `object_data` SET `Classname` = 'ArmoredSUV_PMC_DZE3' WHERE `Classname` = 'ArmoredSUV_PMC_DZE';
+
-- ----------------------------
-- Swap datsun and hilux to upgradeable _DZE versions
-- ----------------------------