mirror of
https://github.com/Ghostrider-DbD-/GMS_RC.git
synced 2024-08-30 16:02:11 +00:00
58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
|
/*
|
||
|
GMS_fnc_addMissionToQue
|
||
|
|
||
|
Adds the basic list of parameters that define a mission such as the marker name, mission list, mission path, AI difficulty, and timer settings, to the arrays that the main thread inspects.
|
||
|
|
||
|
By Ghostrider-GRG-
|
||
|
Copyright 2016
|
||
|
|
||
|
--------------------------
|
||
|
License
|
||
|
--------------------------
|
||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||
|
|
||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||
|
*/
|
||
|
#include "\GMS\Compiles\Init\GMS_defines.hpp"
|
||
|
params["_missionList","_path","_marker","_difficulty","_tMin","_tMax",["_noMissions",1]];
|
||
|
if (GMS_debugLevel >= 3) then
|
||
|
{
|
||
|
{
|
||
|
diag_log format["_addMissionToQue: _this %1 = %2",_forEachIndex, _this select _forEachIndex];
|
||
|
} forEach _this;
|
||
|
};
|
||
|
private _waitTime = diag_tickTime + (_tMin) + random((_tMax) - (_tMin));
|
||
|
private _missionsData = []; // Parameters definine each of the missions for this difficulty are stored as arrays here.
|
||
|
{
|
||
|
private _missionFile = format["\GMS\Missions\%1\%2.sqf",_path,_x];
|
||
|
private _missionCode = compileFinal preprocessFileLinenumbers _missionFile;//return all of the values that define how the mission is spawned as an array of values
|
||
|
if !(isNil "_missionCode") then
|
||
|
{
|
||
|
private _data = [_marker,_difficulty] call _missionCode;
|
||
|
if !(isNil "_data") then
|
||
|
{
|
||
|
_missionsData pushBack _data;
|
||
|
};
|
||
|
} else {
|
||
|
diag_log format["bad path\mission combination %1",_missionFile];
|
||
|
};
|
||
|
} forEach _missionList;
|
||
|
|
||
|
private _key = round(random(10000));
|
||
|
private _missions = [
|
||
|
_key,
|
||
|
_difficulty,
|
||
|
_noMissions, // Max no missions of this category
|
||
|
0, // Number active
|
||
|
_tMin, // Used to calculate waittime in the future
|
||
|
_tMax, // as above
|
||
|
_waitTime, // time at which a mission should be spawned
|
||
|
_missionsData // Array of data about individual missions that could be spawned. The data table for each mission is defined in _missionSpawner
|
||
|
];
|
||
|
|
||
|
GMS_missionData pushBack _missions;
|
||
|
|
||
|
|
||
|
|
||
|
|