Revert "LootPos - More Filter + objnull fix"

This reverts commit 9e891464d6.
This commit is contained in:
He-Man 2019-06-08 20:50:58 +02:00
parent 9e891464d6
commit 9115607938
2 changed files with 31 additions and 52 deletions

View File

@ -17,59 +17,47 @@ if !(_source isEqualTo _unit) then {
if ((missionnamespace getvariable ["EPOCH_HandleDamageTimeOut",diag_ticktime]) > diag_ticktime) exitwith {}; // prevent multiple actions here
switch _projectile do {
case "B_EnergyPack": {
if (_source distance _unit > 10) exitwith {};
if (missionnamespace getvariable ["EPOCH_OldRevive",false]) exitwith {};
EPOCH_HandleDamageTimeOut = diag_ticktime + 0.1;
if (currentweapon _source isEqualTo "pvcrifle_01_epoch") then {
if !(lifeState _unit == "INCAPACITATED") then {
_attachments = handgunItems _source;
if ("Heal_EPOCH" in _attachments) then {
if (lifeState _unit == "INCAPACITATED") exitwith {
EPOCH_HandleDamageTimeOut = diag_ticktime + 1;
_unit setUnconscious true;
EPOCH_UnconsciousTime = diag_ticktime + 60 + (random 120);
["You are Knocked out for a while...",5] call Epoch_Message;
_unit setUnconscious false;
_unit playMoveNow 'AmovPercMstpSnonWnonDnon';
};
}
else {
if (_source distance _unit > 10) exitwith {};
if !(missionnamespace getvariable ["EPOCH_OldRevive",false]) then {
_attachments = handgunItems _source;
if ("Heal_EPOCH" in _attachments) then {
if (lifeState _unit == "INCAPACITATED") exitwith {
EPOCH_HandleDamageTimeOut = diag_ticktime + 1;
_unit setUnconscious false;
_unit playMoveNow 'AmovPercMstpSnonWnonDnon';
};
_highestDMG = 0;
_currentHIT = -1;
_currentDMG = 0;
{
_currentDMG = _x;
if (_currentDMG > _highestDMG) then{
_highestDMG = _currentDMG;
_currentHIT = _forEachIndex;
};
}forEach((getAllHitPointsDamage _unit) param[2,[]]);
if (_highestDMG > 0) then {
_newDMG = 0;
[_unit,[[_currentHIT,_newDMG]]] call EPOCH_client_repairVehicle;
} else {
if ((damage _unit) > 0) then {
[_unit,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2];
};
};
_highestDMG = 0;
_currentHIT = -1;
_currentDMG = 0;
{
_currentDMG = _x;
if (_currentDMG > _highestDMG) then{
_highestDMG = _currentDMG;
_currentHIT = _forEachIndex;
};
if ("Defib_EPOCH" in _attachments) then {
if !(alive _unit) then {
EPOCH_HandleDamageTimeOut = diag_ticktime + 1;
[_unit,_source,Epoch_personalToken] remoteExec ["EPOCH_server_revivePlayer",2];
};
}forEach((getAllHitPointsDamage _unit) param[2,[]]);
if (_highestDMG > 0) then {
_newDMG = 0;
[_unit,[[_currentHIT,_newDMG]]] call EPOCH_client_repairVehicle;
} else {
if ((damage _unit) > 0) then {
[_unit,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2];
};
};
};
if ("Defib_EPOCH" in _attachments) then {
if !(alive _unit) then {
EPOCH_HandleDamageTimeOut = diag_ticktime + 1;
[_unit,_source,Epoch_personalToken] remoteExec ["EPOCH_server_revivePlayer",2];
};
};
};
case "B_KnockOut": {
if !(lifeState _unit == "INCAPACITATED") then {
EPOCH_HandleDamageTimeOut = diag_ticktime + 1;
_unit setUnconscious true;
EPOCH_UnconsciousTime = diag_ticktime + 60 + (random 120);
["You are Knocked out for a while...",5] call Epoch_Message;
};
};
};

View File

@ -1,7 +1,5 @@
if (isnil "LootMarkersPositions" && isnil "LootMarkers") then {
_Skipbuildings = [
"Land_LandMark_F",
"Land_wpp_Turbine_V2_F",
"Land_Mil_Barracks_L",
"Land_Mil_Guardhouse",
"Land_Mil_ControlTower_ruins",
@ -52,7 +50,6 @@ if (isnil "LootMarkersPositions" && isnil "LootMarkers") then {
"Land_House_1W04_ruins_F"
];
_skipstrings = [
"land_powerwire",
"land_containerline",
"land_telephoneline",
"land_power_pole",
@ -356,15 +353,9 @@ player allowdamage false;
_idx = round (random ((count LootMarkersPositions)-1));
systemchat format ["Index = %1",_idx];
player setpos (LootMarkersPositions select _idx);
Building = (nearestObjects [player, [LootMarkers select _idx],200]) param [0,objnull];
if !(isnull Building) then {
systemchat format ['Selected Building = %1',typeof Building];
hint format ['Selected Building = %1',typeof Building];
}
else {
systemchat "Error - Building not found";
hint "Error - Building not found";
};
Building = nearestObject [player, LootMarkers select _idx];
systemchat format ['Selected Building = %1',typeof Building];
hint format ['Selected Building = %1',typeof Building];
}
else {
hint "No more positions found!";