diff --git a/dayz_code/actions/vault_crack.sqf b/dayz_code/actions/vault_crack.sqf new file mode 100644 index 000000000..d0fd9babf --- /dev/null +++ b/dayz_code/actions/vault_crack.sqf @@ -0,0 +1,3 @@ +private["_obj","_bag","_pos"]; +_obj = _this select 3; +_obj spawn player_unlockVault; diff --git a/dayz_code/compile/fn_selfActions.sqf b/dayz_code/compile/fn_selfActions.sqf index 316ec77eb..7409612e7 100644 --- a/dayz_code/compile/fn_selfActions.sqf +++ b/dayz_code/compile/fn_selfActions.sqf @@ -199,10 +199,17 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4)) }; //Allow owner to unlock vault - if(cursorTarget isKindOf "VaultStorageLocked" and _canDo and _ownerID == dayz_playerUID) then { - if ((s_player_unlockvault < 0) and (player distance cursorTarget < 3)) then { - s_player_unlockvault = player addAction ["Unlock Vault", "\z\addons\dayz_code\actions\vault_unlock.sqf",cursorTarget, 0, false, true, "",""]; + if(cursorTarget isKindOf "VaultStorageLocked" and _canDo) then { + if (_ownerID == dayz_playerUID) then { + if ((s_player_unlockvault < 0) and (player distance cursorTarget < 3)) then { + s_player_unlockvault = player addAction ["Unlock Vault", "\z\addons\dayz_code\actions\vault_unlock.sqf",cursorTarget, 0, false, true, "",""]; + }; + } else { + if ((s_player_unlockvault < 0) and (player distance cursorTarget < 3)) then { + s_player_unlockvault = player addAction ["Crack Vault", "\z\addons\dayz_code\actions\vault_unlock.sqf",cursorTarget, 0, false, true, "",""]; + }; }; + } else { player removeAction s_player_unlockvault; s_player_unlockvault = -1; diff --git a/dayz_code/compile/player_unlockVault.sqf b/dayz_code/compile/player_unlockVault.sqf index 06a7e56d0..02b88a316 100644 --- a/dayz_code/compile/player_unlockVault.sqf +++ b/dayz_code/compile/player_unlockVault.sqf @@ -11,7 +11,20 @@ player playActionNow "Medic"; player removeAction s_player_unlockvault; s_player_unlockvault = -1; -if(_ownerID == dayz_playerUID) then { +_allowunlock = false; +if (_ownerID == dayz_playerUID) then { + _allowunlock = true; +} else { + + // do random roll to try to unlock vault + // start low to test figure out what works later + if(round (random 100) == 1) then { + _allowunlock = true; + }; + +}; + +if(_allowunlock) then { _alreadyPacking = _obj getVariable["packing",0]; if (_alreadyPacking == 1) exitWith {cutText ["That vault is already being unlocked." , "PLAIN DOWN"]}; @@ -75,7 +88,7 @@ if(_ownerID == dayz_playerUID) then { } forEach _objWpnTypes; }; - cutText ["Your vault has been unlocked", "PLAIN DOWN"]; + cutText ["This vault has been unlocked", "PLAIN DOWN"]; } else { - cutText ["You cannot unlock this vault, it is not yours", "PLAIN DOWN"]; + cutText ["Combination incorrect, vault is still locked.", "PLAIN DOWN"]; }; \ No newline at end of file diff --git a/dayz_code/config.cpp b/dayz_code/config.cpp index e770b10c5..9eb31b8f2 100644 --- a/dayz_code/config.cpp +++ b/dayz_code/config.cpp @@ -33,7 +33,7 @@ class CfgMods hidePicture = 0; hideName = 0; action = "http://www.dayepoch.com"; - version = "0.87"; + version = "0.88"; hiveVersion = 0.96; //0.93 }; }; diff --git a/dayz_code/rscTitles.hpp b/dayz_code/rscTitles.hpp index 72a169744..410bed52b 100644 --- a/dayz_code/rscTitles.hpp +++ b/dayz_code/rscTitles.hpp @@ -87,7 +87,7 @@ class RscDisplayMain : RscStandardDisplay class DAYZ_Version : CA_Version { idc = -1; - text = "DayZ Epoch 0.87 (1.7.5.M2D1)"; + text = "DayZ Epoch 0.88 (1.7.5.M2D1)"; y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)"; }; class CA_TitleMainMenu;