diff --git a/addons/zeus/functions/fnc_bi_moduleCurator.sqf b/addons/zeus/functions/fnc_bi_moduleCurator.sqf index 6b66dbcc33..594b4673f3 100644 --- a/addons/zeus/functions/fnc_bi_moduleCurator.sqf +++ b/addons/zeus/functions/fnc_bi_moduleCurator.sqf @@ -152,6 +152,9 @@ if (_activated) then { _x radiochanneladd [_player]; } foreach (_logic getvariable ["channels",[]]); + // Added by ACE_zeus to delay ascension message at mission start + [{_this spawn DFUNC(moduleCuratorDelay);},[_logic,1]] call EFUNC(common,execNextFrame); + [_logic,"curatorUnitAssigned",[_logic,_player]] call bis_fnc_callscriptedeventhandler; //--- Forced interface @@ -197,8 +200,8 @@ if (_activated) then { } foreach (synchronizedobjects _logic); _addons call bis_fnc_activateaddons; - // Added by ACE_zeus to delay ascension messages and bird code (so that settings can be changed) - [{_this spawn DFUNC(moduleCuratorDelay);},[_logic,_player]] call EFUNC(common,execNextFrame); + // Added by ACE_zeus to delay bird code + [{_this spawn DFUNC(moduleCuratorDelay);},[_logic,0]] call EFUNC(common,execNextFrame); }; //--- Player diff --git a/addons/zeus/functions/fnc_moduleCuratorDelay.sqf b/addons/zeus/functions/fnc_moduleCuratorDelay.sqf index 4e9f8cd769..a81cfd74a6 100644 --- a/addons/zeus/functions/fnc_moduleCuratorDelay.sqf +++ b/addons/zeus/functions/fnc_moduleCuratorDelay.sqf @@ -5,7 +5,9 @@ * * Arguments: * 0: The module logic - * 1: Zeus player + * 1: Mode + * 0 - Spawn bird + * 1 - Ascension message * * Return Value: * None @@ -16,38 +18,41 @@ #include "script_component.hpp" if (isServer) then { - private ["_logic","_player","_birdType","_bird"]; + private ["_logic","_mode","_player","_birdType","_bird"]; _logic = _this select 0; - _player = _this select 1; + _mode = _this select 1; - // Extracted from moduleCurator to toggle ascension messages - if (GVAR(zeusAscension)) then { - //--- Sent notification to all assigned players - { - if (isplayer _x) then { - [["CuratorAssign",[_name,name _player]],"bis_fnc_showNotification",_x] call bis_fnc_mp; - }; - } foreach (curatoreditableobjects _logic); - }; - - // Extracted from moduleCurator to toggle eagle - if (GVAR(zeusBird)) then { - //--- Create bird - _birdType = _logic getvariable ["birdType","eagle_f"]; - if (_birdType != "") then { - _bird = createvehicle [_birdType,[100,100,100],[],0,"none"]; - _logic setvariable ["bird",_bird,true]; - }; - - //--- Locality changed - _logic addeventhandler [ - "local", + if (_mode == 1) then { + // Extracted from moduleCurator to toggle ascension messages + _player = getAssignedCuratorUnit _logic; + if (GVAR(zeusAscension)) then { + //--- Sent notification to all assigned players { - _logic = _this select 0; - _bird = _logic getvariable ["bird",objnull]; - _bird setowner owner _logic; - } - ]; + if (isplayer _x) then { + [["CuratorAssign",[_name,name _player]],"bis_fnc_showNotification",_x] call bis_fnc_mp; + }; + } foreach (curatoreditableobjects _logic); + }; + } else { + // Extracted from moduleCurator to toggle eagle + if (GVAR(zeusBird)) then { + //--- Create bird + _birdType = _logic getvariable ["birdType","eagle_f"]; + if (_birdType != "") then { + _bird = createvehicle [_birdType,[100,100,100],[],0,"none"]; + _logic setvariable ["bird",_bird,true]; + }; + + //--- Locality changed + _logic addeventhandler [ + "local", + { + _logic = _this select 0; + _bird = _logic getvariable ["bird",objnull]; + _bird setowner owner _logic; + } + ]; + }; }; };