Skip to content
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions A3A/addons/core/functions/Base/fn_initPetros.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,7 @@ petros addMPEventHandler ["mpkilled",
[] spawn {sleep 120; petros allowDamage true;};
[petros] call A3A_fnc_unitAmbient; // adds ambient sounds and animations to petros

private _marker = "respawn_guerrila";
_marker setMarkerType "A3AU_RebalHQ_mrk";

Info("initPetros completed");
490 changes: 448 additions & 42 deletions A3A/addons/core/functions/Base/fn_mrkUpdate.sqf

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions A3A/addons/core/functions/Base/fn_rebuildRadioTower.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ antennas pushBack _antenna; publicVariable "antennas";

private _mrkFinal = createMarker [format ["Ant%1", mapGridPosition _antenna], getPos _antenna];
_mrkFinal setMarkerShape "ICON";
_mrkFinal setMarkerType "loc_Transmitter";
_mrkFinal setMarkerColor "ColorBlack";
_mrkFinal setMarkerType "A3AU_radiotower_mrk";
_mrkFinal setMarkerColor "ColorWhite";
_mrkFinal setMarkerText (localize "STR_radiotower");
mrkAntennas pushBack _mrkFinal;
publicVariable "mrkAntennas";
Expand Down
18 changes: 16 additions & 2 deletions A3A/addons/core/functions/Dialogs/fn_fastTravelRadio.sqf
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
params [
["_quickMarker", "", [""]]
];

private _markersX = markersX + [respawnTeamPlayer];

// private _titleStr = localize "STR_A3A_fn_dialogs_ftradio_title";
Expand Down Expand Up @@ -57,10 +61,19 @@ if (_units findIf {

positionTel = [];

[localize "STR_A3A_Dialogs_fast_travel_header", localize "STR_A3A_Dialogs_fast_travel_click"] call A3A_fnc_customHint;
if (_quickMarker == "") then {[localize "STR_A3A_Dialogs_fast_travel_header", localize "STR_A3A_Dialogs_fast_travel_click"] call A3A_fnc_customHint;};
if (!visibleMap) then {openMap true};
showCommandingMenu "";
onMapSingleClick "positionTel = _pos; true";
if !(_quickMarker == "") then {
private _quickMarkerPosition = getMarkerPos _quickMarker;

_quickMarkerPosition set [0, (_quickMarkerPosition select 0) + 0.1];
_quickMarkerPosition set [1, (_quickMarkerPosition select 1) + 0.1];
// I have to add a slight offset because this shit will take a different marker if its set exactly on the marker i want to tp to....
positionTel = _quickMarkerPosition;
} else {
onMapSingleClick "positionTel = _pos; true";
};

waitUntil {sleep 1; (count positionTel > 0) or {not visiblemap}};
onMapSingleClick "";
Expand Down Expand Up @@ -227,6 +240,7 @@ if (_positionTel distance getMarkerPos _base < 500) then {

sleep 5;
{_x allowDamage true} forEach _ftUnits;
['off'] call SCRT_fnc_ui_toggleMenuBlur;
} else {
[localize "STR_A3A_Dialogs_fast_travel_header", localize "STR_A3A_Dialogs_fast_travel_missclick"] call SCRT_fnc_misc_deniedHint;
};
Expand Down
4 changes: 2 additions & 2 deletions A3A/addons/core/functions/Missions/fn_ENC_Trader.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,9 @@ traderPosition = _traderPosition;
publicVariable "traderPosition";

_traderMarker = createMarkerLocal ["TraderMarker", _traderPosition];
_traderMarker setMarkerTypeLocal "hd_objective";
_traderMarker setMarkerTypeLocal "A3AU_dealer_mrk";
_traderMarker setMarkerSizeLocal [1, 1];
_traderMarker setMarkerTextLocal (localize "STR_marker_arms_dealer");
_traderMarker setMarkerTextLocal "";
_traderMarker setMarkerColorLocal "ColorUNKNOWN";
_traderMarker setMarkerAlpha 1;
traderMarker = _traderMarker;
Expand Down
4 changes: 1 addition & 3 deletions A3A/addons/core/functions/Save/fn_loadServer.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,7 @@ if (isServer) then {
};
} forEach controlsX;

{
[_x] call A3A_fnc_mrkUpdate
} forEach (markersX - controlsX);
[markersX - controlsX] call A3U_fnc_mrkUpdateBulk;

if (count watchpostsFIA > 0) then {
markersX = markersX + watchpostsFIA;
Expand Down
148 changes: 79 additions & 69 deletions A3A/addons/core/functions/Save/fn_loadStat.sqf
Comment thread
UAC-MaxxLite marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -579,93 +579,103 @@ if (_varName in specialVarLoads) then {
case 'watchpostsFIA': {
if (count (_varValue select 0) == 2) then {
{
_positionX = _x select 0;
_garrison = _x select 1;
_mrk = createMarker [format ["FIAWatchpost%1", random 1000], _positionX];
_mrk setMarkerShape "ICON";
_mrk setMarkerType "n_recon";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText format [localize "STR_marker_watchpost",FactionGet(reb,"name")];
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
watchpostsFIA pushBack _mrk;
sidesX setVariable [_mrk,teamPlayer,true];
} forEach _varvalue;
_positionX = _x select 0;
_garrison = _x select 1;
_mrk = createMarker [format ["FIAWatchpost%1", random 1000], _positionX];
Comment thread
UAC-MaxxLite marked this conversation as resolved.
_mrk setMarkerShape "ICON";
_mrk setMarkerType "A3AU_watchpost_mrk";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText "";
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
sidesX setVariable [_mrk,teamPlayer,true];
watchpostsFIA pushBack _mrk;
} forEach _varvalue;

if !(watchpostsFIA isEqualTo []) then {[watchpostsFIA] remoteExec ["A3U_fnc_mrkUpdateBulk", 0, true]};
};
};
case 'roadblocksFIA': {
if (count (_varValue select 0) == 2) then {
{
_positionX = _x select 0;
_garrison = _x select 1;
_mrk = createMarker [format ["FIARoadblock%1", random 1000], _positionX];
_mrk setMarkerShape "ICON";
_mrk setMarkerType "n_support";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText format [localize "STR_marker_roadblock",FactionGet(reb,"name")];
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
roadblocksFIA pushBack _mrk;
sidesX setVariable [_mrk,teamPlayer,true];
} forEach _varvalue;
};
{
_positionX = _x select 0;
_garrison = _x select 1;
_mrk = createMarker [format ["FIARoadblock%1", random 1000], _positionX];
Comment thread
UAC-MaxxLite marked this conversation as resolved.
_mrk setMarkerShape "ICON";
_mrk setMarkerType "A3AU_roadblock_mrk";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText "";
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
sidesX setVariable [_mrk,teamPlayer,true];
roadblocksFIA pushBack _mrk;
} forEach _varvalue;

if !(roadblocksFIA isEqualTo []) then {[roadblocksFIA] remoteExec ["A3U_fnc_mrkUpdateBulk", 0, true]};
};
};
case 'aapostsFIA': {
if (count (_varValue select 0) >= 2) then {
{
_positionX = _x select 0;
_garrison = _x select 1;
_staticPositions = _x select 2;
_mrk = createMarker [format ["FIAAApost%1", random 1000], _positionX];
_mrk setMarkerShape "ICON";
_mrk setMarkerType "n_antiair";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText format [localize "STR_marker_aa_empl",FactionGet(reb,"name")];
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
if (count _staticPositions > 0) then {staticPositions setVariable [_mrk,_staticPositions,true]};
aapostsFIA pushBack _mrk;
sidesX setVariable [_mrk,teamPlayer,true];
} forEach _varvalue;
_positionX = _x select 0;
_garrison = _x select 1;
_staticPositions = _x select 2;
_mrk = createMarker [format ["FIAAApost%1", random 1000], _positionX];
_mrk setMarkerShape "ICON";
_mrk setMarkerType "A3AU_antiair_mrk";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText "";
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
if (count _staticPositions > 0) then {staticPositions setVariable [_mrk,_staticPositions,true]};
sidesX setVariable [_mrk,teamPlayer,true];
aapostsFIA pushBack _mrk;
} forEach _varvalue;

if !(aapostsFIA isEqualTo []) then {[aapostsFIA] remoteExec ["A3U_fnc_mrkUpdateBulk", 0, true]};
};
};
case 'atpostsFIA': {
if (count (_varValue select 0) >= 2) then {
{
_positionX = _x select 0;
_garrison = _x select 1;
_staticPositions = _x select 2;
_mrk = createMarker [format ["FIAATpost%1", random 1000], _positionX];
_mrk setMarkerShape "ICON";
_mrk setMarkerType "n_armor";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText format [localize "STR_marker_at_empl", FactionGet(reb,"name")];
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
if (count _staticPositions > 0) then {staticPositions setVariable [_mrk,_staticPositions,true]};
atpostsFIA pushBack _mrk;
sidesX setVariable [_mrk,teamPlayer,true];
} forEach _varvalue;
_positionX = _x select 0;
_garrison = _x select 1;
_staticPositions = _x select 2;
_mrk = createMarker [format ["FIAATpost%1", random 1000], _positionX];
_mrk setMarkerShape "ICON";
_mrk setMarkerType "A3AU_antitank_mrk";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText "";
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
if (count _staticPositions > 0) then {staticPositions setVariable [_mrk,_staticPositions,true]};
sidesX setVariable [_mrk,teamPlayer,true];
atpostsFIA pushBack _mrk;
} forEach _varvalue;

if !(atpostsFIA isEqualTo []) then {[atpostsFIA] remoteExec ["A3U_fnc_mrkUpdateBulk", 0, true]};
};
};
case 'hmgpostsFIA': {
if (count (_varValue select 0) >= 2) then {
{
_positionX = _x select 0;
_garrison = _x select 1;
_staticPositions = _x select 2;
_mrk = createMarker [format ["FIAHmgpost%1", random 1000], _positionX];
_mrk setMarkerShape "ICON";
_mrk setMarkerType "n_unknown";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText format [localize "STR_marker_hmg_empl", FactionGet(reb,"name")];
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
if (count _staticPositions > 0) then {staticPositions setVariable [_mrk,_staticPositions,true]};
hmgpostsFIA pushBack _mrk;
sidesX setVariable [_mrk,teamPlayer,true];
} forEach _varvalue;
}
_positionX = _x select 0;
_garrison = _x select 1;
_staticPositions = _x select 2;
_mrk = createMarker [format ["FIAHmgpost%1", random 1000], _positionX];
_mrk setMarkerShape "ICON";
_mrk setMarkerType "A3AU_hmg_mrk";
_mrk setMarkerColor colorTeamPlayer;
_mrk setMarkerText "";
spawner setVariable [_mrk,2,true];
if (count _garrison > 0) then {garrison setVariable [_mrk,_garrison,true]};
if (count _staticPositions > 0) then {staticPositions setVariable [_mrk,_staticPositions,true]};
sidesX setVariable [_mrk,teamPlayer,true];
hmgpostsFIA pushBack _mrk;
} forEach _varvalue;

if !(hmgpostsFIA isEqualTo []) then {[hmgpostsFIA] remoteExec ["A3U_fnc_mrkUpdateBulk", 0, true]};
};
};

case 'rebelLoadouts': {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,14 +119,17 @@ sleep 8;
deleteVehicle _beamLight;
deleteVehicle _strikeObject;

private _bulkMarkerUpdate = [];

private _citiesInRange = (citiesX - destroyedSites) select {((getMarkerPos _x) distance2D _impactPosition) < 200};
{
["TaskFailed", ["", format [localize "STR_notifiers_orbitalStrike_destruct", [_x] call A3A_fnc_localizar]]] remoteExec ["BIS_fnc_showNotification",teamPlayer];
destroyedSites = destroyedSites + [_x];
publicVariable "destroyedSites";
sidesX setVariable [_x, Invaders, true];
garrison setVariable [_x, [], true];
[_x] call A3A_fnc_mrkUpdate;
_bulkMarkerUpdate pushBack _x;
sleep 10;
} forEach _citiesInRange;

[_bulkMarkerUpdate] call A3U_fnc_mrkUpdateBulk;
12 changes: 6 additions & 6 deletions A3A/addons/core/functions/init/fn_initBases.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ private _fnc_initMarkerList =
};
case (_x in milbases):
{
_mrkD setMarkerTypeLocal (["b_hq", "o_hq"] select _isInvader);
_mrkD setMarkerTypeLocal (["A3AU_milbase_mrk", "A3AU_milbase_mrk"] select _isInvader);
_mrkD setMarkerColorLocal ([colorOccupants, colorInvaders] select _isInvader);
Comment on lines +29 to 30
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
_mrkD setMarkerTypeLocal (["A3AU_milbase_mrk", "A3AU_milbase_mrk"] select _isInvader);
_mrkD setMarkerColorLocal ([colorOccupants, colorInvaders] select _isInvader);
_mrkD setMarkerTypeLocal "A3AU_milbase_mrk";
_mrkD setMarkerColorLocal ([colorOccupants, colorInvaders] select _isInvader);
_mrkD setMarkerText format [_mrkText, [localize "STR_A3A_initBases_occ", localize "STR_A3A_initBases_inv"] select _isInvader];

};
case (_x in seaports):
{
_mrkD setMarkerTypeLocal (["b_naval", "o_naval"] select _isInvader);
_mrkD setMarkerTypeLocal "A3AU_seaport_mrk";
_mrkD setMarkerColorLocal ([colorOccupants, colorInvaders] select _isInvader);
Comment on lines +34 to 35
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
_mrkD setMarkerTypeLocal "A3AU_seaport_mrk";
_mrkD setMarkerColorLocal ([colorOccupants, colorInvaders] select _isInvader);
_mrkD setMarkerTypeLocal "A3AU_seaport_mrk";
_mrkD setMarkerColorLocal ([colorOccupants, colorInvaders] select _isInvader);
_mrkD setMarkerText format [_mrkText, [localize "STR_A3A_initBases_occ", localize "STR_A3A_initBases_inv"] select _isInvader];

};
default
Expand Down Expand Up @@ -72,10 +72,10 @@ private _controlsNATO = controlsX - _controlsCSAT;
private _roadblockPositions = controlsX apply { markerPos _x };

[_mrkCSAT, airportsX, "flag_NATO", localize "STR_airbase", true] call _fnc_initMarkerList;
[_mrkCSAT, resourcesX, "loc_rock", localize "STR_resources"] call _fnc_initMarkerList;
[_mrkCSAT, factories, "u_installation", localize "STR_factory"] call _fnc_initMarkerList;
[_mrkCSAT, outposts, "loc_bunker", localize "STR_outpost", true] call _fnc_initMarkerList;
[_mrkCSAT, milbases, "b_hq", localize "STR_milbase", true] call _fnc_initMarkerList;
[_mrkCSAT, resourcesX, "A3AU_resource_mrk", localize "STR_resources"] call _fnc_initMarkerList;
[_mrkCSAT, factories, "A3AU_factory_mrk", localize "STR_factory"] call _fnc_initMarkerList;
[_mrkCSAT, outposts, "A3AU_outpost_mrk", localize "STR_outpost", true] call _fnc_initMarkerList;
[_mrkCSAT, milbases, "A3AU_milbase_mrk", localize "STR_milbase", true] call _fnc_initMarkerList;

private _portName = [
localize "STR_port_sea",
Expand Down
15 changes: 14 additions & 1 deletion A3A/addons/core/functions/init/fn_initClient.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -679,4 +679,17 @@ if (staminaEnabled isEqualTo false) then {
private _newWeaponSway = swayEnabled / 100;
player setCustomAimCoef _newWeaponSway;

[CBA_EVENT_CLIENT_INIT_DONE, []] call FUNCMAIN(triggerLocalEvent);
addMissionEventHandler ["Map", {
params ["_opened"];
Verbose_1("[A3U HOVER DEBUG] Map EH opened=%1",_opened);
[false] call A3U_fnc_markerBrowser; // always force close on open & close

if (_opened) then {
[true] call A3U_fnc_mapHover;
} else {
[false] call A3U_fnc_mapHover;
['off'] call SCRT_fnc_ui_toggleMenuBlur;
};
}];

[CBA_EVENT_CLIENT_INIT_DONE, []] call FUNCMAIN(triggerLocalEvent);
Comment thread
UnseenKill marked this conversation as resolved.
Outdated
2 changes: 1 addition & 1 deletion A3A/addons/core/functions/init/fn_initGarrisons.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ if (gameMode == 3) then
_updateMarkers pushBackUnique _x;
} forEach (markersX - ["Synd_HQ"]);
};
{ _x call A3A_fnc_mrkUpdate } forEach _updateMarkers;
[_updateMarkers] call A3U_fnc_mrkUpdateBulk;


private _occGroups = ((A3A_faction_occ get "groupsTierSquads") apply {_x select 1}) + ((A3A_faction_occ get "groupsTierMedium") apply {_x select 1});
Expand Down
Loading