Skip to content

Wardrobe - New Addon - System to modify wearables #10606

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

Open
wants to merge 327 commits into
base: master
Choose a base branch
from

Conversation

OverlordZorn
Copy link
Contributor

@OverlordZorn OverlordZorn commented Dec 27, 2024

When merged this pull request will:

  • New Addon: Wardrobe
    Introduces a new system to modify currently worn gear.

For Example:

  • Roll up/down your sleeves.
  • Raise or lower the visor of helmets.
  • Modify turbans from to the other variants.
  • Combat Goggles <-> Balaclava with Combat Goggles <-> Balaclava

UX:

  • ACE Self Interaction -> Equipment -> Wardrobe (if modifiable Item)
  • Inventory -> CBA Context Menu on Wearable Slot
    • Moved into seperate PR

Compats for: GM, SOG, WS, RF

ToDo once approved:

  • remove test mission from PR

IMPORTANT

Related PR's

@OverlordZorn OverlordZorn changed the title Wardrobe - New: System to modify current wearables Wardrobe - New Addon - System to modify wearables Dec 28, 2024
@LinkIsGrim LinkIsGrim self-assigned this Dec 31, 2024
@LinkIsGrim LinkIsGrim added the kind/feature Release Notes: **ADDED:** label Dec 31, 2024
@LinkIsGrim LinkIsGrim added this to the Ongoing milestone Dec 31, 2024
@OverlordZorn
Copy link
Contributor Author

OverlordZorn commented Jan 2, 2025

Core Features are complete.

@OverlordZorn OverlordZorn marked this pull request as ready for review January 2, 2025 13:12
@Drofseh
Copy link
Contributor

Drofseh commented Jan 2, 2025

all the things with zrn tags need to be changed

@LinkIsGrim
Copy link
Contributor

Haven't tested nor looked at code yet. How are inherited config properties handled?

@OverlordZorn
Copy link
Contributor Author

Haven't tested nor looked at code yet. How are inherited config properties handled?

Wearables with fully inherited subclass are ignored.

@LinkIsGrim
Copy link
Contributor

LinkIsGrim commented Jan 3, 2025

Wearables with fully inherited subclass are ignored.

Alright, should be safe then. That should also go in documentation.

@OverlordZorn OverlordZorn requested a review from johnb432 June 7, 2025 11:01
@OverlordZorn
Copy link
Contributor Author

"5 requested changes"
i dont find those. ether they are already resolved or the code doesnt exist anymore but github still shows them as outstanding.

Comment on lines 12 to 18
* Example:
* toFixed 0;
* private _magazineDetails = (magazinesAmmoFull player) apply { [_x#0, _x#-2, _x#-1] };
* private _documents = _magazineDetails findIf { _x select 0 == "acex_intelitems_document" } > -1;
* if (_documents) then { _documents = [player, "acex_intelitems_document"] call CBA_fnc_getMagazineIndex apply { _x call ace_wardrobe_fnc_getIndexFromMagID } };
*
* Public: Yes
Copy link
Member

Choose a reason for hiding this comment

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

I have no idea what this does. What is this doing here? This looks like intel items API in wardrobe? Why is this public?

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 have no idea what this does. What is this doing here? This looks like intel items API in wardrobe?

  • Intel items, as well as the spare barrels store their individual data (each in a different way) based on the magazineID.
  • When i switch the uniform/vest/backpack through wardrobe, the container will get "refilled" with new, fresh magazines, with new magIDs.
  • I have to get the previous magazine ID's, with that, retrieve the individual Data, then get the magID of the new variant, and store the old data on the new magID.

Why is this public?

Dont remember, its not anymore.

Copy link
Member

Choose a reason for hiding this comment

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

This should be a function in intel items. I'm also referring to the example. No idea what it does.


params ["_player", "_classTarget", "_equipmentType"];

toFixed 0;
Copy link
Member

Choose a reason for hiding this comment

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

Why?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Why what? the toFixed 0; ?

Copy link
Member

Choose a reason for hiding this comment

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

Yes.

Comment on lines +14 to +18
* toFixed 0;
* private _magazineDetails = (magazinesAmmoFull player) apply { [_x#0, _x#-2, _x#-1] } select { _x#0 == "acex_intelitems_document" };
* { [_x#1, 69] call ace_wardrobe_fnc_setIndexForMagID } forEach _magazineDetails;
*
* Public: No
Copy link
Member

Choose a reason for hiding this comment

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

Same as above.

@BaerMitUmlaut
Copy link
Member

I haven't really touched the replace functions and the stuff that touches intel items / spare barrels, but I'm through with my cleanup otherwise.

@OverlordZorn
Copy link
Contributor Author

yea idk why but shits broke now.

  • Uniforms cant switch from Sleeves Up to Sleeves Down (no component required, still cant do it).
  • Balaclava can be changed from normal to the goggled version without the component required being present in the inventory. Once switched to goggled version, the action to simple take it off is not availble.
    I assume the action condition check got flipped around.

Replaces the use of 'findIf' with 'select' and 'isEqualTo []' to correctly determine if all required items are present for wardrobe modification.
@OverlordZorn
Copy link
Contributor Author

I was able to fix the before mentioned changes, but now it duplicates items, which it didnt do before

@OverlordZorn
Copy link
Contributor Author

it fixed now, seems i misinterpretated a change in my quest of finding the first issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Release Notes: **ADDED:**
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants