mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 11:42:38 +03:00
Add option to exempt players in safezones from EVR effects
This commit is contained in:
@@ -389,9 +389,14 @@ fnc_evr = {
|
||||
|
||||
local _vehicle = vehicle player;
|
||||
local _inside = (dayz_inside || (DZE_roofOverhead && {DZE_sheltered > 0.96}));
|
||||
local _inSafeZone = false;
|
||||
|
||||
{
|
||||
if (player distance (_x select 0) < (_x select 1)) exitWith {_inSafeZone = true;};
|
||||
} count DZE_SafeZonePosArray;
|
||||
|
||||
if (player == _vehicle) then {
|
||||
if (_hasAPSI || {DZE_EVRProtectInside && _inside}) then {
|
||||
if (_hasAPSI || {DZE_EVRProtectInside && _inside} || {(DZE_EVRSafezoneExempt && _inSafeZone)}) then {
|
||||
player switchMove "";
|
||||
[objNull, player, rswitchMove, ""] call RE;
|
||||
} else {
|
||||
@@ -405,7 +410,7 @@ fnc_evr = {
|
||||
player action ["engineOff",_vehicle];
|
||||
_vehicle setFuel _fuel;
|
||||
} else {
|
||||
if (!_hasAPSI && {!DZE_EVRProtectInside || (DZE_EVRProtectInside && !_inside)}) then {
|
||||
if (!_hasAPSI && {!DZE_EVRProtectInside || (DZE_EVRProtectInside && !_inside)} && {(DZE_EVRSafezoneExempt && !_inSafeZone)}) then {
|
||||
player action ["eject",_vehicle];
|
||||
[] spawn {
|
||||
uiSleep 3;
|
||||
@@ -421,7 +426,7 @@ fnc_evr = {
|
||||
uiSleep 0.1;
|
||||
titleText["","BLACK OUT",1];
|
||||
|
||||
if (!_hasAPSI && {!DZE_EVRProtectInside || (DZE_EVRProtectInside && !_inside)}) then {
|
||||
if (!_hasAPSI && {!DZE_EVRProtectInside || (DZE_EVRProtectInside && !_inside)} && {(DZE_EVRSafezoneExempt && !_inSafeZone)}) then {
|
||||
r_player_inpain = true;
|
||||
player setVariable["USEC_inPain",true,true];
|
||||
local _blood = r_player_blood - ((DZE_EVRBloodLoss select 0) max random(DZE_EVRBloodLoss select 1)); // Player is not inside a building so reduce blood.
|
||||
@@ -440,7 +445,7 @@ fnc_evr = {
|
||||
titleText["","BLACK IN",10];
|
||||
ppEffectDestroy _effect;
|
||||
|
||||
if (DZE_EVRDamageItemsChance > 0) then {
|
||||
if (DZE_EVRDamageItemsChance > 0 && {(DZE_EVRSafezoneExempt && !_inSafeZone)}) then {
|
||||
local _items = [];
|
||||
{
|
||||
local _tool = _x select 0;
|
||||
@@ -462,7 +467,7 @@ fnc_evr = {
|
||||
"dynamicBlur" ppEffectCommit 16;
|
||||
|
||||
if (!_hasAPSI) then {
|
||||
if (player == vehicle player && {!DZE_EVRProtectInside || (DZE_EVRProtectInside && !_inside)}) then {
|
||||
if (player == vehicle player && {!DZE_EVRProtectInside || (DZE_EVRProtectInside && !_inside)} && {(DZE_EVRSafezoneExempt && !_inSafeZone)}) then {
|
||||
uiSleep 10; // 10 second knockout.
|
||||
[nil, player, rSWITCHMOVE, "AmovPpneMstpSnonWnonDnon_healed"] call RE;
|
||||
player SWITCHMOVE "AmovPpneMstpSnonWnonDnon_healed";
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
@@ -549,6 +549,7 @@ if (!isDedicated) then {
|
||||
DZE_EVRDamageItemsChance = .20; // Chance that an EVR storm will damage items in inventory. From 0 to 1. Chance applies to each item. Set to 0 to disable.
|
||||
DZE_EVRDamageItems = [["Binocular_Vector","Binocular_VectorBroken"],["NVGoggles_DZE","ItemNVGFullBroken_DZE"],["NVGoggles","ItemNVGBroken_DZE"],["ItemGPS","ItemGPSBroken_DZE"],["ItemRadio","ItemRadioBroken_DZE"],["Smartphone_DZE","SmartphoneBroken_DZE"]]; // [item (input), damaged item (output)]. Items that have a chance to be damaged by EMP.
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Garage Door Opener
|
||||
|
||||
Reference in New Issue
Block a user