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

Seemingly random combinations of mods cause vampirism to not persist on relog. #24

Closed
Verbina29 opened this issue Feb 12, 2021 · 8 comments

Comments

@Verbina29
Copy link

I'm super sorry if I should be reporting this to the developer of another mod, but it seems like Haema is the mod it's most relevant to, considering that you can't have vampirism not persist on relog if vampirism doesn't exist in the first place. The mods I've consistently had while trying to find the specific mod doing this are Haema, Origins, Extra Origins, Origins Classes, and their dependencies. The only combination I've definitively encountered the issue with is Astromine and just about any other mod(ones I distinctly remember it happening with include Terrestria, Crusade, Alaska Native Craft), but there are definitely other combinations and possibly single mods that do it. However, I think I will die if I troubleshoot this issue any more.

@williambl
Copy link
Owner

Thanks. This is the third report I've had of this in a week or so, which makes me think that some other mod has changed something recently. Probably something JiJ'ing a new version of Cardinal Components which doesn't work with Haema. I'll look into it.

@williambl
Copy link
Owner

williambl commented Feb 13, 2021

Able to reproduce with origins 0.4.6, astromine 1.11.5, extra origins 1.16.5-1, origins classes 1.16.5-1.1.1, Pehkui-1.7.1+21w03a, and terrestria-2.2.0.

@williambl
Copy link
Owner

williambl commented Feb 13, 2021

Able to reproduce with origins 0.4.6, astromine 1.11.5, and terrestria 2.1.7.

@williambl
Copy link
Owner

Unable to reproduce when removing astromine or terrestria. Very odd.

@williambl
Copy link
Owner

Downgrading to Origins 1.4.5 fixes the issue.

@williambl
Copy link
Owner

The issue is a mixture of an Origins change and a mod load ordering issue.

For context, I handle my data using a library called Cardinal Components API (CCA), and Origins powers have a method called onRemoved. Before Origins 0.4.6, onRemoved was only called when the power was, well, removed from a player. After Origins 0.4.6, onRemoved is also run when a player leaves the game.

I set isVampire on my component to false in my power's onRemoved.

If CCA is loaded before origins, everything's fine as CCA saves the isVampire value to disk before my power's onRemoved method sets it to false. Therefore, when it loads it from disk, it'll see it as true, and everything's fine.

However, if CCA loads after origins, it'll save isVampire to disk after the onRemoved method has set it to false. Therefore, when it loads it from disk, it'll see it as false and you won't be a vampire any more.

williambl added a commit that referenced this issue Feb 13, 2021
@williambl
Copy link
Owner

v1.5.0 should work around this.

@williambl
Copy link
Owner

Fixed in the 1.5 releases.

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

No branches or pull requests

2 participants