mclemente / fvtt-condition-lab-triggler

Condition Lab & Triggler module for Foundry Virtual Tabletop
GNU General Public License v3.0
6 stars 4 forks source link

Conditions not being refreshed correctly on Custom System Builder #44

Open Kiiinji opened 7 months ago

Kiiinji commented 7 months ago

Describe the bug Label informations from the Custom System Builder are not read correctly by the Condition trigglers when the character sheet is not opened.

To Reproduce Steps to reproduce the behavior:

Expected behavior The effect should be triggered even when the Sheet is closed (the value updates even when the sheet is closed, I verified it with an attribute bar reading the value of the stamina_percentage)

Screenshots Here is a video (as you can see in the video, the value updates to "2", so the effect should trigger, but it doesn't until I open the Sheet.

Also, here is my trigger value image

Environment Info (please complete the following information):

Kiiinji commented 2 months ago

Still ongoing :(

mclemente commented 2 months ago

Could you share the template you're using? I'm not used to CSB's syntax.

And I think that's an issue on the system's side. The system is doing some update when the sheet is being rendered instead of updating when the actor's data is updated.

Kiiinji commented 2 months ago

Many other modules update instantly weither the sheet is opened or not, and values like the hunger or stamina meters are updated through the sheet and the token even when the sheet is closed.

I escalated this issue to the CSB author and he mentioned that this issue was on Condition lab's side.

As for the template, what exactly do you need me to share?

mclemente commented 2 months ago

As for the template, what exactly do you need me to share?

That actor's template, _Jouertemp. And which fields do I need to fill in to get that ratio?

Kiiinji commented 2 months ago

Where can I find this file?

mclemente commented 2 months ago

Right-click the _Jouertemp temp actor on the Actors Sidebar and choose to Export Data, then upload it here

Kiiinji commented 2 months ago

For the field, it's the one at the bottom left, the first "hidden" data image

fvtt-Actor-_joueurtemp-5AYyd3m5x11651UC.json

mclemente commented 2 months ago

The system is updating during render here instead of doing it on Actor#_onUpdate.

You might be able to circumvent this issue by using an advanced trigger that calculates the percentage.

Actor Update Property: system.props.STAMINA Actor Comparison Property:system.props.STAMINA_MAX Operator: > (or , not sure which you want) Value: 50%

Repeat for the opposite, with a < or Operator.


Thank you for providing the template.

While investigating this issue I've found out another issue with the way the trigger checks equality/inequality, so avoid the = and for percentages.

Kiiinji commented 1 month ago

Thank you so much for your support!

However, this solution doesn't work :(

I need the status to show below a threshold and hide when under or over this threshold.

This means that I need two triggers for the status to be removed and not just one.

For example:


If stamina < 75% & > 50% {
status 1
} else if stamina < 50 % & > 30% {
status 2
}

etc etc..

If I set the remove trigger for "status 1" to "> 50%" then it won't disappear if my stamina is over 75%, which is an issue.

Kiiinji commented 1 month ago

up :(

mclemente commented 1 month ago

Sorry, I've been a bit busy :(

Hm, try < 75% for the remove trigger > 50% for the apply trigger, then, on the "status 2", add a macro like this:

const status1 = CONFIG.statusEffects.find(e => e.name === NAME_OF_STATUS_1);
token.toggleEffect(status1, { active: false });

This will probably be triggered on every update, though, so it might be annoying.

I'm really sorry, but I don't think I can fix this, at least not for V11, my time for projects has become limited and this project is the toughest to keep up to date.

Kiiinji commented 1 month ago

Hello

Thank you for this reply!

Sadly, this is not a solution viable for me, I guess I'll have to keep all character sheets opened for now.

Thank you for your support tho.