mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
+ Fixed Machete Spawns thanks to:fe83fca83a+ Add check for loot undergroundda4cbfbaca+ Tweaked supply crate model so that is is not sunk into the ground. Fixes #249 + Added 3 more female clothing variants thanks to http://www.twitch.tv/miss_alejandria + Added player distance cursorTarget increase if target is isKindOf AIR OR SHIP. Fixes #235 + Changed currency conversion from 1 x 10oz copper for 1 oz silver to 3x 10oz copper for 1 oz silver.
60 lines
2.0 KiB
Plaintext
60 lines
2.0 KiB
Plaintext
private["_iItem","_iClass","_iPos","_radius","_itemTypes","_index","_item","_qty","_max","_tQty","_canType","_weights","_cntWeights","_dateNow","_iPosZ"];
|
|
_iItem = _this select 0;
|
|
_iClass = _this select 1;
|
|
_iPos = _this select 2;
|
|
_radius = _this select 3;
|
|
|
|
_iPosZ = _iPos select 2;
|
|
if( _iPosZ < 0 ) then { _iPos = [_iPos select 0,_iPos select 1,0]; };
|
|
|
|
switch (_iClass) do {
|
|
default {
|
|
//Item is food, add random quantity of cans along with an item (if exists)
|
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
|
|
|
_itemTypes = [] + ((getArray (configFile >> "cfgLoot" >> _iClass)) select 0);
|
|
_index = dayz_CLBase find _iClass;
|
|
_weights = dayz_CLChances select _index;
|
|
_cntWeights = count _weights;
|
|
_qty = 0;
|
|
_max = ceil(random 2) + 1;
|
|
while {_qty < _max} do {
|
|
_tQty = round(random 1) + 1;
|
|
_index = floor(random _cntWeights);
|
|
_index = _weights select _index;
|
|
_canType = _itemTypes select _index;
|
|
_item addMagazineCargoGlobal [_canType,_tQty];
|
|
_qty = _qty + _tQty;
|
|
};
|
|
if (_iItem != "") then {
|
|
_item addWeaponCargoGlobal [_iItem,1];
|
|
};
|
|
};
|
|
case "weapon": {
|
|
//Item is a weapon, add it and a random quantity of magazines
|
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
|
_item addWeaponCargoGlobal [_iItem,1];
|
|
_mags = [] + getArray (configFile >> "cfgWeapons" >> _iItem >> "magazines");
|
|
if ((count _mags) > 0) then {
|
|
if (_mags select 0 == "Quiver") then { _mags set [0, "WoodenArrow"] }; // Prevent spawning a Quiver
|
|
_item addMagazineCargoGlobal [(_mags select 0), (round(random 2))];
|
|
};
|
|
};
|
|
case "magazine": {
|
|
//Item is one magazine
|
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
|
_item addMagazineCargoGlobal [_iItem,1];
|
|
};
|
|
case "object": {
|
|
//Item is one magazine
|
|
_item = createVehicle [_iItem, _iPos, [], _radius, "CAN_COLLIDE"];
|
|
};
|
|
};
|
|
|
|
// timestamp for later clearing
|
|
_dateNow = (DateToNumber date);
|
|
_item setVariable ["looted",_dateNow,true];
|
|
|
|
if ((count _iPos) > 2) then {
|
|
_item setPosATL _iPos;
|
|
}; |