Prevent zeds from attacking if speed is > 10 and prevent targeting if
speed over 25.
This commit is contained in:
vbawol
2013-07-13 11:27:41 -05:00
parent 5cd5bacb31
commit 16d27e5408
2 changed files with 13 additions and 10 deletions

View File

@@ -7,6 +7,8 @@ _targets = _unit getVariable ["targets",[]];
if (!dayz_zedsAttackVehicles and !(_vehicle in _targets)) exitWith {}; if (!dayz_zedsAttackVehicles and !(_vehicle in _targets)) exitWith {};
if ((speed _vehicle > 10)) exitWith {};
//Do the attack //Do the attack
if (r_player_unconscious && _vehicle == player && _type == "zombie") then { if (r_player_unconscious && _vehicle == player && _type == "zombie") then {
_rnd = (round(random 4)) + 1; _rnd = (round(random 4)) + 1;
@@ -83,8 +85,9 @@ if (_vehicle != player) then {
private[]; private[];
_tPos = (getPosASL _vehicle); _tPos = (getPosASL _vehicle);
_zPos = (getPosASL _unit); _zPos = (getPosASL _unit);
_onSameFloor = ((abs((_tPos select 2) - (_tPos select 2)) < 1.3));
_inAngle = [_zPos,(getdir _unit),50,_tPos] call fnc_inAngleSector; _inAngle = [_zPos,(getdir _unit),50,_tPos] call fnc_inAngleSector;
if (_inAngle) then { if (_onSameFloor and _inAngle) then {
//LOS check //LOS check
_cantSee = [_unit,_vehicle] call dayz_losCheck; _cantSee = [_unit,_vehicle] call dayz_losCheck;
if (!_cantSee) then { if (!_cantSee) then {

View File

@@ -17,19 +17,19 @@ _targets = _lead nearTargets _range;
private["_obj","_dis"]; private["_obj","_dis"];
_obj = _x select 4; _obj = _x select 4;
_dis = _obj distance _lead; _dis = _obj distance _lead;
// if (_obj isKindOf "Man") then { if (_obj isKindOf "Man") then {
if (((_obj isKindOf "Man") or (_obj isKindOf "AllVehicles")) and !(_obj isKindOf "zZombie_Base") and !(_obj in _targetMen)) then { if (!(_obj isKindOf "zZombie_Base") and !(_obj in _targetMen)) then {
//process man targets //process man targets
_targetMen set [count _targetMen,_obj]; _targetMen set [count _targetMen,_obj];
_targetDis set [count _targetDis,_dis]; _targetDis set [count _targetDis,_dis];
}; };
// } else { } else {
// if ((_obj isKindOf "AllVehicles") and (count crew _obj > 0) and !(_obj in _targetMen)) then { if ((speed _obj < 25) and (_obj isKindOf "AllVehicles") and ((count crew _obj) > 0) and !(_obj in _targetMen)) then {
// //process vehicle targets //process vehicle targets
// _targetMen set [count _targetMen,_obj]; _targetMen set [count _targetMen,_obj];
// _targetDis set [count _targetDis,_dis]; _targetDis set [count _targetDis,_dis];
// }; };
// }; };
} forEach _targets; } forEach _targets;
//Search for fires //Search for fires