mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
3c5b46c42d
* count treatment items * getCountofItem Co-Authored-By: Blue <itzblueman@gmail.com> * getCountofItem fix Co-Authored-By: Blue <itzblueman@gmail.com> * convert painkillers to magazine * use isclass Co-Authored-By: johnb432 <58661205+johnb432@users.noreply.github.com> * forget to change variable * Update addons/medical_treatment/functions/fnc_hasItem.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * better magazine adjustment * Update addons/common/functions/fnc_adjustMagazineAmmo.sqf Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com> * Update addons/medical_treatment/functions/fnc_medication.sqf Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com> * Update addons/medical_treatment/functions/fnc_treatmentFailure.sqf Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com> * Update docs/wiki/framework/arsenal-framework.md Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com> * Update addons/common/functions/fnc_adjustMagazineAmmo.sqf Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com> * Header * use switch statement in fnc_useItem * Update addons/common/functions/fnc_adjustMagazineAmmo.sqf * Update addons/common/functions/fnc_adjustMagazineAmmo.sqf Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com> * only check adding to mags that are not full Co-Authored-By: LinkIsGrim <salluci.lovi@gmail.com> * Update addons/common/functions/fnc_adjustMagazineAmmo.sqf * Update fnc_getCountOfItem.sqf * Optimisations & header fix * Update addons/common/functions/fnc_adjustMagazineAmmo.sqf * Fixed vehicle implementation --------- Co-authored-by: Blue <itzblueman@gmail.com> Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com> Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com> Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
62 lines
1.8 KiB
Plaintext
62 lines
1.8 KiB
Plaintext
#include "..\script_component.hpp"
|
|
/*
|
|
* Author: Glowbal, mharis001
|
|
* Uses one of the treatment items. Respects the priority defined by the allowSharedEquipment setting.
|
|
* Can use items from vehicle inventory if either unit is in a vehicle.
|
|
*
|
|
* Arguments:
|
|
* 0: Medic <OBJECT>
|
|
* 1: Patient <OBJECT>
|
|
* 2: Items <ARRAY>
|
|
*
|
|
* Return Value:
|
|
* User and Item <ARRAY>
|
|
*
|
|
* Example:
|
|
* [player, cursorObject, ["bandage"]] call ace_medical_treatment_fnc_useItem
|
|
*
|
|
* Public: No
|
|
*/
|
|
|
|
params ["_medic", "_patient", "_items"];
|
|
|
|
if (_medic isEqualTo player && {!isNull findDisplay 312}) exitWith {
|
|
[_medic, _items select 0]
|
|
};
|
|
|
|
scopeName "Main";
|
|
|
|
private _useOrder = [[_patient, _medic], [_medic, _patient], [_medic]] select GVAR(allowSharedEquipment);
|
|
|
|
{
|
|
private _unit = _x;
|
|
private _unitVehicle = objectParent _unit;
|
|
private _unitItems = [_x, 0] call EFUNC(common,uniqueItems);
|
|
private _unitMagazines = [_x, 2] call EFUNC(common,uniqueItems);
|
|
private _vehicleItems = itemCargo _unitVehicle; // [] for objNull
|
|
private _vehicleMagazines = magazineCargo _unitVehicle; // same
|
|
|
|
{
|
|
switch (true) do {
|
|
case (_x in _vehicleItems): {
|
|
_unitVehicle addItemCargoGlobal [_x, -1];
|
|
[_unit, _x] breakOut "Main";
|
|
};
|
|
case (_x in _vehicleMagazines): {
|
|
[_unitVehicle, _x] call EFUNC(common,adjustMagazineAmmo);
|
|
[_unit, _x] breakOut "Main";
|
|
};
|
|
case (_x in _unitItems): {
|
|
_unit removeItem _x;
|
|
[_unit, _x] breakOut "Main";
|
|
};
|
|
case (_x in _unitMagazines): {
|
|
[_unit, _x] call EFUNC(common,adjustMagazineAmmo);
|
|
[_unit, _x] breakOut "Main";
|
|
};
|
|
};
|
|
} forEach _items;
|
|
} forEach _useOrder;
|
|
|
|
[objNull, ""]
|