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

Outfits in SPID 7.2.0 #64

Merged
merged 44 commits into from
Dec 28, 2024
Merged

Outfits in SPID 7.2.0 #64

merged 44 commits into from
Dec 28, 2024

Conversation

adya
Copy link
Collaborator

@adya adya commented Dec 18, 2024

No description provided.

adya and others added 30 commits July 5, 2024 17:48
This does the same as Papyrus SetOutfit function. So should be safer?
Previous change made GitHub ignore both branches and tags.
- NPCs that Start Dead will get On Death Distribution.
- NPCs that die during the game will work the same.
- Death Distribution will be performed once for each NPC during game session, so that they won't re-equip new things.
Allowed both regular and On Death distribution to work on initially dead NPCs.
A dedicated manager that will track distributed outfits with SKSE co-save and will be able to revert no longer available outfits. This will allow SPID to preserve randomized outfits behavior.
This is bad, going back to the original idea of equipping stuff manually and retroactively fixing things. Also, added basic logging for distribution.
This restores proper randomization of outfits logic where outfits are reset during load if SPID didn't distribute the same outfit in this game session.
replacements are now tracked by actor formIDs. Less memory consumption, better handling of deleted actors.
Distribution is persistent between saves within the same game session, so only actual replacements are tracked and saved in a co-save to be able to revert distributed outfits that are no longer valid in current distribution.
- Added more information on deserialization error.
- Extracted equipping outfits to a separate method for easier replacement.
- Implemented equipping outfits logic in a semi-manual way. (still baking it into saves)
- Added more helpful message when reverting corrupted outfits or encounter corrupted actors.
@adya adya self-assigned this Dec 18, 2024
adya and others added 8 commits December 20, 2024 23:39
- Added detailed logging for outfit manager in debug
- Outfit Manager now automatically handles proper equipping of outfits by utilizing necessary hooks.
- As a bonus, Death Distribution now handles reloads properly, what was looted stays looted 🙂
This solves the problem where filters that reference outfits stopped working after another outfit was distributed.
@adya adya merged commit 2c87d07 into master Dec 28, 2024
1 check passed
@adya adya deleted the outfits-equipping-with-baked-saves branch December 28, 2024 20:57
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.

1 participant