Enhance mission generator markers with alpha, brush, and color settings
This commit is contained in:
parent
afb3c665af
commit
256ce0d5af
@ -355,6 +355,9 @@ CaptureHvtMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
_extZone setMarkerShape "ELLIPSE";
|
_extZone setMarkerShape "ELLIPSE";
|
||||||
_extZone setMarkerSize [160, 160];
|
_extZone setMarkerSize [160, 160];
|
||||||
_extZone setMarkerText format ["HVT Extraction Zone %1", _grid];
|
_extZone setMarkerText format ["HVT Extraction Zone %1", _grid];
|
||||||
|
_extZone setMarkerAlpha 0.5;
|
||||||
|
_extZone setMarkerBrush "DiagGrid";
|
||||||
|
_extZone setMarkerColor "ColorOrange";
|
||||||
|
|
||||||
private _success = [
|
private _success = [
|
||||||
"hvt",
|
"hvt",
|
||||||
|
|||||||
@ -291,6 +291,9 @@ DefendMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
_defenseZone setMarkerShape "ELLIPSE";
|
_defenseZone setMarkerShape "ELLIPSE";
|
||||||
_defenseZone setMarkerSize [25, 25];
|
_defenseZone setMarkerSize [25, 25];
|
||||||
_defenseZone setMarkerText format ["Defense Zone %1", _grid];
|
_defenseZone setMarkerText format ["Defense Zone %1", _grid];
|
||||||
|
_defenseZone setMarkerAlpha 0.5;
|
||||||
|
_defenseZone setMarkerBrush "DiagGrid";
|
||||||
|
_defenseZone setMarkerColor "ColorOrange";
|
||||||
|
|
||||||
private _success = [
|
private _success = [
|
||||||
"defend",
|
"defend",
|
||||||
|
|||||||
@ -235,7 +235,9 @@ DeliveryMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
private _position = _locationData getOrDefault ["position", [0, 0, 0]];
|
private _position = _locationData getOrDefault ["position", [0, 0, 0]];
|
||||||
private _grid = _locationData getOrDefault ["grid", mapGridPosition _position];
|
private _grid = _locationData getOrDefault ["grid", mapGridPosition _position];
|
||||||
private _taskID = format ["task_delivery_%1", round (diag_tickTime * 1000)];
|
private _taskID = format ["task_delivery_%1", round (diag_tickTime * 1000)];
|
||||||
|
private _pickupMarker = format ["forge_delivery_pickup_%1", _taskID];
|
||||||
private _deliveryZone = format ["forge_delivery_zone_%1", _taskID];
|
private _deliveryZone = format ["forge_delivery_zone_%1", _taskID];
|
||||||
|
private _dropoffMarker = format ["forge_delivery_dropoff_%1", _taskID];
|
||||||
private _worldSize = worldSize;
|
private _worldSize = worldSize;
|
||||||
private _center = [_worldSize / 2, _worldSize / 2, 0];
|
private _center = [_worldSize / 2, _worldSize / 2, 0];
|
||||||
private _deliveryPos = [0, 0, 0];
|
private _deliveryPos = [0, 0, 0];
|
||||||
@ -265,10 +267,23 @@ DeliveryMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
|
|
||||||
if (_cargoObjects isEqualTo []) exitWith { "" };
|
if (_cargoObjects isEqualTo []) exitWith { "" };
|
||||||
|
|
||||||
|
createMarker [_pickupMarker, _position];
|
||||||
|
_pickupMarker setMarkerType "hd_pickup";
|
||||||
|
_pickupMarker setMarkerColor "ColorBLUFOR";
|
||||||
|
_pickupMarker setMarkerText format ["Pickup %1", _grid];
|
||||||
|
|
||||||
createMarker [_deliveryZone, _deliveryPos];
|
createMarker [_deliveryZone, _deliveryPos];
|
||||||
_deliveryZone setMarkerShape "ELLIPSE";
|
_deliveryZone setMarkerShape "ELLIPSE";
|
||||||
_deliveryZone setMarkerSize [25, 25];
|
_deliveryZone setMarkerSize [25, 25];
|
||||||
_deliveryZone setMarkerText format ["Delivery Zone %1", _deliveryGrid];
|
_deliveryZone setMarkerText format ["Delivery Zone %1", _deliveryGrid];
|
||||||
|
_deliveryZone setMarkerAlpha 0.5;
|
||||||
|
_deliveryZone setMarkerBrush "DiagGrid";
|
||||||
|
_deliveryZone setMarkerColor "ColorOrange";
|
||||||
|
|
||||||
|
createMarker [_dropoffMarker, _deliveryPos];
|
||||||
|
_dropoffMarker setMarkerType "hd_end";
|
||||||
|
_dropoffMarker setMarkerColor "ColorBLUFOR";
|
||||||
|
_dropoffMarker setMarkerText format ["Drop-off %1", _deliveryGrid];
|
||||||
|
|
||||||
private _fundsReward = _rewardRange call BIS_fnc_randomNum;
|
private _fundsReward = _rewardRange call BIS_fnc_randomNum;
|
||||||
private _reputationReward = _reputationRange call BIS_fnc_randomNum;
|
private _reputationReward = _reputationRange call BIS_fnc_randomNum;
|
||||||
@ -305,7 +320,9 @@ DeliveryMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
] call forge_server_task_fnc_startTask;
|
] call forge_server_task_fnc_startTask;
|
||||||
|
|
||||||
if !(_success) exitWith {
|
if !(_success) exitWith {
|
||||||
|
deleteMarker _pickupMarker;
|
||||||
deleteMarker _deliveryZone;
|
deleteMarker _deliveryZone;
|
||||||
|
deleteMarker _dropoffMarker;
|
||||||
""
|
""
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -313,7 +330,7 @@ DeliveryMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
_activeMissionRegistry set [_taskID, createHashMapFromArray [
|
_activeMissionRegistry set [_taskID, createHashMapFromArray [
|
||||||
["generatorType", _self call ["getGeneratorType", []]],
|
["generatorType", _self call ["getGeneratorType", []]],
|
||||||
["position", _position],
|
["position", _position],
|
||||||
["markers", [_deliveryZone]],
|
["markers", [_pickupMarker, _deliveryZone, _dropoffMarker]],
|
||||||
["startedAt", serverTime]
|
["startedAt", serverTime]
|
||||||
]];
|
]];
|
||||||
_manager set ["activeMissionRegistry", _activeMissionRegistry];
|
_manager set ["activeMissionRegistry", _activeMissionRegistry];
|
||||||
|
|||||||
@ -555,6 +555,9 @@ HostageMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
_extZone setMarkerShape "ELLIPSE";
|
_extZone setMarkerShape "ELLIPSE";
|
||||||
_extZone setMarkerSize [25, 25];
|
_extZone setMarkerSize [25, 25];
|
||||||
_extZone setMarkerText format ["Hostage Extraction %1", _grid];
|
_extZone setMarkerText format ["Hostage Extraction %1", _grid];
|
||||||
|
_extZone setMarkerAlpha 0.5;
|
||||||
|
_extZone setMarkerBrush "DiagGrid";
|
||||||
|
_extZone setMarkerColor "ColorOrange";
|
||||||
|
|
||||||
private _hostageCount = count _hostageUnits;
|
private _hostageCount = count _hostageUnits;
|
||||||
private _limitFail = 1;
|
private _limitFail = 1;
|
||||||
|
|||||||
@ -295,67 +295,6 @@ KillHvtMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
private _reputationPenalty = _penaltyRange call BIS_fnc_randomNum;
|
private _reputationPenalty = _penaltyRange call BIS_fnc_randomNum;
|
||||||
private _timeLimit = _timeRange call BIS_fnc_randomNum;
|
private _timeLimit = _timeRange call BIS_fnc_randomNum;
|
||||||
|
|
||||||
private _extZone = format ["forge_hvt_ext_zone_%1", _taskID];
|
|
||||||
private _extPos = [0, 0, 0];
|
|
||||||
private _extZoneMarkers = allMapMarkers select {
|
|
||||||
(toLowerANSI (markerText _x) find "extzone") == 0
|
|
||||||
|| { (toLowerANSI _x find "extzone") == 0 }
|
|
||||||
|| { (toLowerANSI (markerText _x) find "extmarker") == 0 }
|
|
||||||
|| { (toLowerANSI _x find "extmarker") == 0 }
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_extZoneMarkers isNotEqualTo []) then {
|
|
||||||
_extPos = getMarkerPos (selectRandom _extZoneMarkers);
|
|
||||||
_extPos set [2, 0];
|
|
||||||
} else {
|
|
||||||
private _blkListMarkers = allMapMarkers select { markerShape _x in ["RECTANGLE", "ELLIPSE"] };
|
|
||||||
_blkListMarkers = _blkListMarkers select {
|
|
||||||
(
|
|
||||||
(toLowerANSI _x find "blklist") == 0
|
|
||||||
|| { (toLowerANSI (markerText _x) find "blklist") == 0 }
|
|
||||||
|| { (toLowerANSI _x find "blkmarker") == 0 }
|
|
||||||
|| { (toLowerANSI (markerText _x) find "blkmarker") == 0 }
|
|
||||||
)
|
|
||||||
&& { getMarkerPos _x distance2D [0, 0] > 0 }
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_blkListMarkers isNotEqualTo []) then {
|
|
||||||
private _selectedBlk = selectRandom _blkListMarkers;
|
|
||||||
private _attempt = 0;
|
|
||||||
while { _attempt < 60 && { _extPos isEqualTo [0, 0, 0] } } do {
|
|
||||||
_attempt = _attempt + 1;
|
|
||||||
private _candidate = [getMarkerPos _selectedBlk, 0, 2000, 3, 0, 0.3, 0] call BIS_fnc_findSafePos;
|
|
||||||
if (_candidate isEqualTo [0, 0, 0]) then { continue; };
|
|
||||||
if !(_candidate inArea _selectedBlk) then { continue; };
|
|
||||||
_candidate set [2, 0];
|
|
||||||
_extPos = _candidate;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_extPos isEqualTo [0, 0, 0]) then {
|
|
||||||
private _attempt = 0;
|
|
||||||
while { _attempt < 80 && { _extPos isEqualTo [0, 0, 0] } } do {
|
|
||||||
_attempt = _attempt + 1;
|
|
||||||
private _probe = [random worldSize, random worldSize, 0];
|
|
||||||
if ((_probe distance2D _position) < 2000) then { continue; };
|
|
||||||
private _safe = [_probe, 0, 500, 3, 0, 0.3, 0] call BIS_fnc_findSafePos;
|
|
||||||
if (_safe isEqualTo [0, 0, 0]) then { continue; };
|
|
||||||
_safe set [2, 0];
|
|
||||||
_extPos = _safe;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_extPos isEqualTo [0, 0, 0]) then {
|
|
||||||
_extPos = _position vectorAdd [2500, 0, 0];
|
|
||||||
_extPos set [2, 0];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
createMarker [_extZone, _extPos];
|
|
||||||
_extZone setMarkerShape "ELLIPSE";
|
|
||||||
_extZone setMarkerSize [160, 160];
|
|
||||||
_extZone setMarkerText format ["HVT Extraction Zone %1", _grid];
|
|
||||||
|
|
||||||
private _success = [
|
private _success = [
|
||||||
"hvt",
|
"hvt",
|
||||||
_taskID,
|
_taskID,
|
||||||
@ -366,7 +305,6 @@ KillHvtMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
createHashMapFromArray [
|
createHashMapFromArray [
|
||||||
["limitFail", 0],
|
["limitFail", 0],
|
||||||
["limitSuccess", 1],
|
["limitSuccess", 1],
|
||||||
["extractionZone", _extZone],
|
|
||||||
["captureHvt", false],
|
["captureHvt", false],
|
||||||
["funds", _fundsReward],
|
["funds", _fundsReward],
|
||||||
["ratingFail", _reputationPenalty],
|
["ratingFail", _reputationPenalty],
|
||||||
@ -385,16 +323,12 @@ KillHvtMissionGeneratorBaseClass = compileFinal createHashMapFromArray [
|
|||||||
"mission_manager"
|
"mission_manager"
|
||||||
] call forge_server_task_fnc_startTask;
|
] call forge_server_task_fnc_startTask;
|
||||||
|
|
||||||
if !(_success) exitWith {
|
if !(_success) exitWith { "" };
|
||||||
deleteMarker _extZone;
|
|
||||||
""
|
|
||||||
};
|
|
||||||
|
|
||||||
private _activeMissionRegistry = _manager getOrDefault ["activeMissionRegistry", createHashMap];
|
private _activeMissionRegistry = _manager getOrDefault ["activeMissionRegistry", createHashMap];
|
||||||
_activeMissionRegistry set [_taskID, createHashMapFromArray [
|
_activeMissionRegistry set [_taskID, createHashMapFromArray [
|
||||||
["generatorType", _self call ["getGeneratorType", []]],
|
["generatorType", _self call ["getGeneratorType", []]],
|
||||||
["position", _position],
|
["position", _position],
|
||||||
["markers", [_extZone]],
|
|
||||||
["startedAt", serverTime]
|
["startedAt", serverTime]
|
||||||
]];
|
]];
|
||||||
_manager set ["activeMissionRegistry", _activeMissionRegistry];
|
_manager set ["activeMissionRegistry", _activeMissionRegistry];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user