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

providers with !doEquips option still count current equipment modifiers #1156

Open
quarklikeadork opened this issue May 28, 2022 · 1 comment

Comments

@quarklikeadork
Copy link
Contributor

quarklikeadork commented May 28, 2022

providers supposed to provide a modifier value without using equipment are still counting current equipment modifiers without locking the equipment
equipment may be changed in pre adv after the provider returns success

with the current architecture of providers the only time they can be correctly called with doEquips = false is at the end of pre_adv after equipment can no longer be changed by something else, so quest scripts would have to let pre adv use the effective provider and instead only use the speculative provider, (there is another issue #1103 with speculative resistance provider)

otherwise when providers are called with !doEquips they would need to reduce results by the value provided by equipment to compensate for the possibility that any of that equipment will be removed in pre adv, edit: and also add to the maximizer string before they return success see comment below

@quarklikeadork
Copy link
Contributor Author

updated resistance provider to modify results instead of the goal, but there is still possible inaccuracy, if there is familiar weight gear equipped that doesn't make a resistance familiar reach its next resistance level, the provider may think it is able to use an effect to raise the resistance provided by the familiar, even if it will lose that resistance by losing its gear. but fixing that would not be enough anyway:

I think calling a provider "without equipment" just means trying effects first but if it passes, the maximizer must still be told to uphold the result, because if nothing about the desired modifier is in the maximizer string the maximizer could not only remove gear that contributed to the provider result in a way that was not detected, but also put on new gear that has negative effect on the value and that is impossible for the provider to predict

so in addition to aiming higher by reducing results, providers would also have to add to the maximizer string before they return success when !doEquips and !speculative

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

1 participant