ACE3/addons/fortify/functions/fnc_getPlaceableSet.sqf
jonpas 6ca9d59443
Merge ACEX (#8415)
* Merge ACEX - first attempt
Backwards compatibility with XGVAR set of macros used on all settings and config entries
Public API functions not taken into account yet, many other things probably still missed

* Resolve issues

* Switch to addSetting, backward compatible CfgPatches, missed XGVAR.

* Remove unnecessary backwards compat

* Convert ACEX Categorised settings to initSettings / Fix Intel items magazine

* Apply suggestions from code review

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Remove maintainers from merged ACEX components

* Cleanup unused module and faction classes

* Sitting - Add more object configs by @Dystopian
https://github.com/acemod/ACEX/pull/255

* Translations - Add Japanese by @classicarma
https://github.com/acemod/ACEX/pull/259

* Kill Tracker - Add killtracker.inc public include file by @Freddo3000"
https://github.com/acemod/ACEX/pull/251

* Add ACEX authors and sort authors file

* acex - final tweaks (#8513)

* acex - handle old funcs

* replace thirst/hunger setvars to acex naming

fix macro

Revert "fix macro"

This reverts commit d807e5e804c43916eaa42d34a89af94c6d9a48ad.

Revert "replace thirst/hunger setvars to acex naming"

This reverts commit bafc607884932d6e339daedc7c22e25dddbdd868.

x

Co-authored-by: TyroneMF <TyroneMF@hotmail.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2021-10-14 10:46:43 -05:00

49 lines
1.2 KiB
Plaintext

#include "script_component.hpp"
/*
* Author: Kingsley
* Gets placeable object classnames and values.
*
* Arguments:
* 0: Size <STRING>
*
* Return Value:
* Pairs of classnames and costs <ARRAY>
*
* Example:
* ["small"] call ace_fortify_fnc_getPlaceableSet
*
* Public: No
*/
params ["_preset"];
TRACE_1("getPlaceableSet",_preset);
private _config = missionConfigFile >> "ACEX_Fortify_Presets" >> _preset;
if (!isClass _config) then {
_config = configfile >> "ACEX_Fortify_Presets" >> _preset;
};
if (!isClass _config) exitWith {
private _msg = format ["Could not find [%1]", _preset];
ERROR_WITH_TITLE("Preset not found",_msg);
[]
};
private _objects = getArray (_config >> "objects");
// Attemp to filter bad input
_objects = _objects select {
if ((_x isEqualTypeParams ["", 0])) then {
_x params [["_classname", "#", [""]], ["_cost", -1, [0]]];
if (isClass (configFile >> "CfgVehicles" >> _classname)) then {
true
} else {
ERROR_2("Preset [%1] - Classname does not exist",_preset,_classname);
};
} else {
ERROR_2("Preset [%1] - Bad data in objects array %2",_preset,_x);
false
};
};
_objects