Skip to content

Conversation

@DartRuffian
Copy link
Contributor

When merged this pull request will:

@DartRuffian DartRuffian marked this pull request as draft July 26, 2025 17:34
@DartRuffian DartRuffian marked this pull request as ready for review July 26, 2025 17:43
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm not exactly sure what causes the animation to be wrong (e.g. in the rifle holding anim when the unit only has a pistol). I don't remember ever seeing it before working on this pr though, so I added a workaround for it.

It seems to need to run on the next frame, but CBA's frame functions don't work in Eden so I had to use a sleep with a small delay.

Comment on lines 31 to 32
case (primaryWeapon _this == ""): { "amovpercmstpsraswrfldnon" };
case (handgunWeapon _this == ""): { "amovpercmstpsraswpstdnon" };
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
case (primaryWeapon _this == ""): { "amovpercmstpsraswrfldnon" };
case (handgunWeapon _this == ""): { "amovpercmstpsraswpstdnon" };
case (primaryWeapon _this isEqualTo ""): { "amovpercmstpsraswrfldnon" };
case (handgunWeapon _this isEqualTo ""): { "amovpercmstpsraswpstdnon" };

Copy link
Contributor Author

@DartRuffian DartRuffian Oct 29, 2025

Choose a reason for hiding this comment

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

That's doing the same thing, there's literally no difference there. You can't even argue type safety because it's a return from an engine command.


private _randomizationDisabled = getArray (missionConfigFile >> "disableRandomization") findIf {
_unit isKindOf _x || {(vehicleVarName _unit) isEqualTo _x}
} != -1;
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
} != -1;
} isNotEqualTo -1;

private _item = selectRandomWeighted _binocularList;
private _magazine = (_item call CBA_fnc_compatibleMagazines) param [0, ""]; // For laser designators
_unit addWeapon _item;
if (_magazine != "") then {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
if (_magazine != "") then {
if (_magazine isNotEqualTo "") then {

params ["_unit", ["_identity", ""]];
TRACE_2("fnc_setIdentity3DEN",_unity,_identity);

if (_identity == "") then {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
if (_identity == "") then {
if (_identity isEqualTo "") then {

_identity = getText (configOf _unit >> "CBA_identity");
};

if (_identity == "") exitWith {};
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
if (_identity == "") exitWith {};
if (_identity isEqualTo "") exitWith {};

_unit set3DENAttribute ["pitch", _pitch];
_unit set3DENAttribute ["speaker", _speaker];

if (_glasses != "") then {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
if (_glasses != "") then {
if (_glasses isNotEqualTo "") then {

DartRuffian and others added 7 commits October 29, 2025 13:21
}] call CBA_fnc_addEventHandler;

// Check missionTime so Eden placed units don't have their loadouts randomized twice
["CAManBase", "InitPost", { if (CBA_missionTime > 0.1) then { call CBA_fnc_randomizeLoadout } }] call CBA_fnc_addClassEventHandler;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not sure if there's a more proper way to do this

Copy link
Contributor

Choose a reason for hiding this comment

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

xeh_postInit won't run on 3den (for now at least)

Copy link
Contributor Author

@DartRuffian DartRuffian Dec 5, 2025

Choose a reason for hiding this comment

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

The check is so units spawned in Eden don't have their kits randomized again, but units spawned later (e.g. script / zeus) do

Without the missionTime check Eden placed units would have their loadouts randomized on mission start

_uniformList, _vestList, _backpackList,
_headgearList, _facewearList, _binocularList,
_nvgList
] findIf { _x isEqualTo [] } >= -1
Copy link
Contributor

Choose a reason for hiding this comment

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

findIf will always be >= -1

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah right, typo, just > should be fine I think

At work currently

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants