Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Release] Stage 1.6.0 Release #167

Merged
merged 39 commits into from
Jun 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
1b77e06
[Chore] Update Release GitHub Action (#96)
dgibso29 Jan 22, 2022
b0b916f
fixed ending dialog population breaking on double defined entries (#98)
Joecuronium Jan 27, 2022
a18c11b
[Add] - Visible framework version (#99)
Bubbus Jan 29, 2022
397d374
[Feature] - Add Gearscript ACE gun-bag support. (#102)
Bubbus Apr 12, 2022
0a0bec0
[Feature] - Disable ACE advanced car damage by default. (#105)
Bubbus Apr 13, 2022
218d4c7
[Feature] - Improve ceasefire side relations (#101)
Cre8or Apr 13, 2022
b3aab6e
Update pull_request_template.md
dgibso29 Jun 13, 2022
7fc6f53
[Improve] Overhauled default medical settings (#108)
Joecuronium Jun 14, 2022
c0a68a9
[FIX] Zeus being unable to properly update crate gear via module (#111)
Joecuronium Jun 14, 2022
f9cb440
Fixed default BLUFOR and INDFOR loadouts so PCMLs in crates are loade…
Joecuronium Jun 14, 2022
22873ee
[Improve Gearscript] Resupply crates now have space to drop stuff (#109)
Joecuronium Jun 14, 2022
4986865
Update readme.md
dgibso29 Jun 20, 2022
ca7111e
Fixed Fatal damage source (#112)
Joecuronium Jun 26, 2022
4724501
Update gear_blufor.sqf (#115)
Joecuronium Jul 12, 2022
b09fdf0
Changed default vehicle lock to "Locked for players" for framework sp…
Joecuronium Sep 19, 2022
9c5aa10
[Bugfix] Compatibility for new ACE gearstrings (#120)
Joecuronium Oct 11, 2022
0b99ede
[Update] Add new default addon settings. (#122)
Bubbus Oct 11, 2022
32d756a
[Chore] Release 1.4.2 Hotfix -> Dev (#126)
dgibso29 Oct 11, 2022
8ff70b3
[Improve] Fix PAK Stitch Exploit Pending ACE PR Merge (#128)
dgibso29 Oct 16, 2022
77c93cf
[Chore] Update Medical Setting CBA Presets (#127)
dgibso29 Oct 16, 2022
eaac075
Update zen_modules.sqf (#134)
dgibso29 Nov 30, 2022
238ef47
[Refactor] - New respawn system. (#135)
Bubbus Dec 11, 2022
5608f8f
Merge remote-tracking branch 'remotes/origin/release' into develop
Bubbus Dec 11, 2022
ccb6fda
Re-added addon defaults which were introduced in 11895c92373ba19307e8…
Bubbus Jan 1, 2023
9f8d554
Removed stray chat/console debug statements.
Bubbus Jan 1, 2023
5cd1dd0
Merge remote-tracking branch 'remotes/origin/release' into develop
Bubbus Jan 1, 2023
b2d7659
[Bugfix] Zeus teleport
Cre8or Feb 19, 2023
2ca60ce
[Bugfix] - Dead spectator voicechat (#149)
Bubbus Mar 7, 2023
bf2dc77
[Bugfix] - Fix "Wound Randomly" locality issue. (#147)
Bubbus Mar 7, 2023
75cd500
[Bugfix] - Ceasefire UI font
Cre8or Mar 8, 2023
f3d7888
Made gravestone manager respect setting of GRAVESTONES_USE_PRIORITY_L…
Bubbus Mar 13, 2023
f0a758b
Fixed CLEAR_UNIFORM typo. (#153)
Bubbus Mar 13, 2023
d242d3b
[Bugfix] - Resolving squadmarker issues. (#154)
Bubbus Mar 13, 2023
db06426
Replaced vanilla ticket handling with bespoke stuff. (#152)
Bubbus Mar 13, 2023
4f15136
[Change] - Made customStartup_* scheduled. (#148)
Bubbus Mar 13, 2023
b0624f0
[Feature] - Added ZEN module for creating loadout lockers mid-mission…
Bubbus Mar 14, 2023
540b80f
Fix Broken URLs In Contrib File
dgibso29 Jun 14, 2023
8ed2197
[Refactor] Change to an event-driven radio system. (#162)
Bubbus Jun 17, 2023
a1879fe
Merge branch 'release' into develop
dgibso29 Jun 17, 2023
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
42 changes: 0 additions & 42 deletions components/aceActions/fn_addSquadManagerActionsToClass.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -96,48 +96,6 @@ _createSquadNode =
_children pushBack [_action, [], _target];


// Update group radio channels
_action =
[
"CAFE_SetSquadChannels",
"Set Squad Radio Channels",
"\A3\ui_f\data\igui\cfg\simpleTasks\types\radio_ca.paa",
{[_player, true] spawn f_fnc_updateGroupRadioChannels;},
{(leader group _player) isEqualTo _player},
{},
[],
"",
20,
[false,false,false,false,false],
{}
];

_action call ace_interact_menu_fnc_createAction;

_children pushBack [_action, [], _target];


// Get group radio channels
_action =
[
"CAFE_GetSquadChannels",
"Get Squad Radio Channels",
"\A3\ui_f\data\igui\cfg\simpleTasks\types\radio_ca.paa",
{[_player, "always"] spawn f_fnc_setupRadioChannels;},
{true},
{},
[],
"",
20,
[false,false,false,false,false],
{}
];

_action call ace_interact_menu_fnc_createAction;

_children pushBack [_action, [], _target];


_children

};
Expand Down
2 changes: 1 addition & 1 deletion components/ceasefire/config/rscCeasefire.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class CAFE_RscCeasefire {
class Countdown : CAFE_Ceasefire_RscText {
idc = MACRO_IDC_CF_COUNTDOWN;
text = "00:00";
font = "EtelkaMonospaceProBold";
font = "EtelkaMonospacePro";
SizeEx = 0.025 * safeZoneW;
x = MACRO_POS_CF_ICON_WIDTH * safeZoneW;
y = MACRO_POS_CF_HEIGHT * 0.3 * safeZoneW;
Expand Down
12 changes: 11 additions & 1 deletion components/functions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class F
#include "mapClick\functions.hpp"
#include "miscClient\functions.hpp"
#include "miscShared\functions.hpp"
#include "radios\functions.hpp"
#include "radio\functions.hpp"
#include "respawn\functions.hpp"
#include "spawnNpcs\functions.hpp"
#include "squadMarkers\functions.hpp"
Expand Down Expand Up @@ -66,3 +66,13 @@ class ace_gunbag
class hasGunbag{};
};
};


class acre_ace_interact
{
class overrides
{
file = "components\radio\acre";
class radioListChildrenActions{};
}
}
106 changes: 106 additions & 0 deletions components/gearScript/events.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@

GEARSCRIPT EVENTS - Index:

CA_PreGearscriptCrate_Local
CA_PostGearscriptCrate_Local
CA_PreGearscriptUnit_Local
CA_PostGearscriptUnit_Local


---------------------------
CA_PreGearscriptCrate_Local
---------------------------

Local event which runs just before a crate is gearscripted. Runs local to the crate.
Allows modification of the crate contents by altering the provided crate array.
Prior-registered handlers may alter the contents that reach your handler. Be aware of this while writing your handler.
The contents can also be empty if the gearscript was not created correctly, or it was simply created empty.

The crate array format is:
[
[
"itemKind",
[
"ItemClassName",
Amount (int)
]
],
...
]

Example call site:
["CA_PreGearscriptCrate_Local", [_typeOfUnit, _unit, _faction, +_crateArray]] call CBA_fnc_localEvent;

_typeOfUnit - String
Name of crate type, eg. "crate_small" etc.

_unit - Object
The crate which will be gearscripted.

_faction - String
The faction that the crate contents come from.

_crateArray - Array
The contents which will be placed into the crate.
This will be a copy of the original array. This allows you to modify the contents.
This array is passed by-reference into each handler, so gradual alterations can be performed.
If you want to cancel the crate being gearscripted, return an empty array from the handler.


---------------------------
CA_PostGearscriptCrate_Local
---------------------------

Identical to the CA_PreGearscriptCrate_Local event, but runs just after the crate is gearscripted.
This event cannot be used to modify the loadout.


---------------------------
CA_PreGearscriptUnit_Local
---------------------------

Local event which runs just before a unit is gearscripted. Runs local to the unit.
Allows modification of the unit's loadout by altering the provided loadout array.
Prior-registered handlers may alter the loadout that reach your handler. Be aware of this while writing your handler.
The contents can also be empty if the gearscript was not created correctly, or it was simply created empty.

This event can also be called by a unit being re-gearscripted. In this case, the _extendedArray will always be empty. See 'f_fnc_reapplyGear' for context.

The loadout format is a Unit Loadout Array:
https://community.bistudio.com/wiki/Unit_Loadout_Array

The extended array will be the CBA Extended Loadout add-on array, which will normall take the format of:
[["key", (value)], ...]

If there is no extended array, it will default to an empty array. This can be used to pass info to further handlers.

Example call site:
["CA_PreGearscriptUnit_Local", [_typeOfUnit, _unit, _faction, _loadout, _extendedArray]] call CBA_fnc_localEvent;

_typeOfUnit - String
Name of unit type, eg. "rif" etc.

_unit - Object
The unit which will be gearscripted.

_faction - String
The faction that the loadout came from.

_loadout - Array
The loadout which will be given to the unit.
This will be a copy of the original array. This allows you to modify the contents.
This array is passed by-reference into each handler, so gradual alterations can be performed.
If you want to cancel the unit being gearscripted, return an empty array from the handler.

_extendedArray - Array
The extended-info array from a CBA Extended Loadout.
This array can contain arbitrary info, but it generally looks like the example above.
This array is passed by-reference into each handler, so gradual alterations can be performed.


---------------------------
CA_PostGearscriptUnit_Local
---------------------------

Identical to the CA_PreGearscriptUnit_Local event, but runs just after the unit is gearscripted.
This event cannot be used to modify the loadout.
36 changes: 36 additions & 0 deletions components/gearScript/fn_addGogglesEventHandler.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
if (hasInterface) then
{
f_arr_playerGogglesCache = [""];

// Attempt to get player's chosen goggles by checking the value each frame until the gearscript occurs.
// If something appears, we figure it's the player's choice. This isn't a great way to do it but it's what we've got.
[] spawn
{
waitUntil
{
if (missionNamespace getVariable ["f_var_firstPlayerLoadout", false]) exitWith {true};

private _goggles = goggles player;
f_arr_playerGogglesCache pushBackUnique _goggles;

_goggles IsNotEqualTo "";
};

f_var_playerGoggles = f_arr_playerGogglesCache select -1;
};

[
"CA_PreGearscriptUnit_Local",
{
params ["_typeOfUnit", "_unit", "_faction", "_loadout", "_extendedArray"];

f_var_firstPlayerLoadout = true;

if ((_unit isEqualTo player) and {!isNil 'f_var_playerGoggles'}) then
{
_loadout set [7, f_var_playerGoggles];
};
}

] call CBA_fnc_addEventHandler;
};
56 changes: 56 additions & 0 deletions components/gearScript/fn_addMaxLoadEventHandler.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
if (hasInterface) then
{
[
"CA_PostGearscriptUnit_Local",
{
params ["_typeOfUnit", "_unit", "_faction", "_loadout", "_extendedArray"];

if (_unit isNotEqualTo player) exitWith {};

private _maxLoads = [0,0,0];

private _uniform = uniformContainer _unit;
if !(isNull _uniform) then
{
private _uniformLoad = loadAbs _uniform;
private _uniformMaxLoad = maxLoad _uniform;

if (_uniformLoad > _uniformMaxLoad) then
{
_maxLoads set [0, _uniformLoad];
};
};

private _vest = vestContainer _unit;
if !(isNull _vest) then
{
private _vestLoad = loadAbs _vest;
private _vestMaxLoad = maxLoad _vest;

if (_vestLoad > _vestMaxLoad) then
{
_maxLoads set [1, _vestLoad];
};
};

private _backpack = backpackContainer _unit;
if !(isNull _backpack) then
{
private _backpackLoad = loadAbs _backpack;
private _backpackMaxLoad = maxLoad _backpack;

if (_backpackLoad > _backpackMaxLoad) then
{
_maxLoads set [2, _backpackLoad];
};
};

if (_maxLoads isNotEqualTo [0,0,0]) then
{
[_unit, _maxLoads] remoteExecCall ["f_fnc_alterUnitMaxLoads", 2];
};

}

] call CBA_fnc_addEventHandler;
};
22 changes: 22 additions & 0 deletions components/gearScript/fn_alterUnitMaxLoads.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
params ["_unit", "_maxLoads"];

if (_maxLoads isEqualTo [0,0,0]) exitWith {};

private _uniformLoad = _maxLoads#0;
private _vestLoad = _maxLoads#1;
private _backpackLoad = _maxLoads#2;

if (_uniformLoad > 0) then
{
(uniformContainer _unit) setMaxLoad _uniformLoad;
};

if (_vestLoad > 0) then
{
(vestContainer _unit) setMaxLoad _vestLoad;
};

if (_backpackLoad > 0) then
{
(backpackContainer _unit) setMaxLoad _backpackLoad;
};
Loading