NightmareXIV / DynamicBridge

13 stars 5 forks source link

Changing gearset is not always triggering automation rules #5

Closed PrincessRTFM closed 7 months ago

PrincessRTFM commented 7 months ago

I use macros to trigger another plugin to change gearsets, so that it's accompanied by a /snap emote and timed correctly. I have rules configured such that a baseline Glamourer design is applied unconditionally with passthrough. If I'm in a residential area, a casual-at-home preset is applied without passthrough; after that, if I'm a red mage, my red-mage-specific preset is applied.

When I stand in a residential area and change to any job, no rules are applied at all, regardless of whether I change to red mage or something else. All job changes result in the actual gearset's appearance. This also occurs when using the vanilla /gearset change <number> command directly, and when applying a gearset through the built-in list window.

Changing gearsets with these macros in other zones works as expected, so it doesn't seem to be related to the timing of the emote ending and my job changing. Manually applying rules by the interface button also works as expected, so it doesn't seem to be a problem with the ruleset evaluation itself. Entering (and exiting) a house updates according to the defined rules as expected, so that condition is triggering normally. It's only when changing gearsets while in a residential area (tested in Mist and Empyreum, as well as a private apartment and FC estate) that automation is failing.

Dynamic Bridge profile export ```javascript { "Name": "Vix Redblade@Cactuar", "Rules": [ { "Enabled": true, "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [], "Times": [], "SelectedPresets": [ "Baseline" ], "Passthrough": true, "Not": { "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [], "Times": [] } }, { "Enabled": true, "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [ 22237979280801920 ], "Emotes": [], "Jobs": [], "Times": [], "SelectedPresets": [ "Casually topless" ], "Passthrough": false, "Not": { "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [], "Times": [] } }, { "Enabled": true, "States": [], "SpecialTerritories": [ 2, 1, 0, 3 ], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [ 13, 45, 143 ], "Jobs": [], "Times": [], "SelectedPresets": [ "Casually topless" ], "Passthrough": false, "Not": { "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [], "Times": [] } }, { "Enabled": true, "States": [], "SpecialTerritories": [ 1, 2, 3, 0 ], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [], "Times": [], "SelectedPresets": [ "Comfy at home" ], "Passthrough": false, "Not": { "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [], "Times": [] } }, { "Enabled": true, "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [ 35 ], "Times": [], "SelectedPresets": [ "Blazing red" ], "Passthrough": false, "Not": { "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [], "Times": [] } }, { "Enabled": true, "States": [], "SpecialTerritories": [ 6, 7, 8, 9, 5 ], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [ 38 ], "Times": [], "SelectedPresets": [ "Beach dancer" ], "Passthrough": false, "Not": { "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [], "Times": [] } }, { "Enabled": true, "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [ 38 ], "Times": [], "SelectedPresets": [ "Faire dancer" ], "Passthrough": false, "Not": { "States": [], "SpecialTerritories": [], "Biomes": [], "Territories": [], "Weathers": [], "Houses": [], "Emotes": [], "Jobs": [], "Times": [] } } ], "Presets": [ { "Name": "Baseline", "Glamourer": [ "5e54bc6d-e12f-4115-9397-65e76c5a645b" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [], "IsStatic": false, "IsStaticCategory": false } ], "PresetsFolders": [ { "Name": "SFW", "Presets": [ { "Name": "Blazing red", "Glamourer": [ "40f103ec-03a9-4533-9b38-b7e4b56d4e9c" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [ "Big chest - Vix Redblade" ], "IsStatic": false, "IsStaticCategory": false }, { "Name": "Beach dancer", "Glamourer": [ "d4a362d7-d669-409b-8244-3b4b935f2d72" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [ "Big chest - Vix Redblade" ], "IsStatic": false, "IsStaticCategory": false }, { "Name": "Faire dancer", "Glamourer": [ "46157218-f8d9-435f-a27f-f2fc81da873a" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [ "Big chest - Vix Redblade" ], "IsStatic": false, "IsStaticCategory": false }, { "Name": "Blind didact", "Glamourer": [ "127a6a56-a7ef-4be7-a788-ee980fde2c5a" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [], "IsStatic": false, "IsStaticCategory": false }, { "Name": "Steampunk sniper", "Glamourer": [ "43617a2b-4a65-4cc9-98da-3b567f0b52ad" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [ "Big chest - Vix Redblade" ], "IsStatic": false, "IsStaticCategory": false }, { "Name": "Teenage reaper", "Glamourer": [ "c4348e9c-47f0-416c-950a-5c759d3b0f73" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [], "IsStatic": false, "IsStaticCategory": false }, { "Name": "Comfy at home", "Glamourer": [ "a07c3d0c-97ef-4029-8191-6102945b4f40" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [ "Big chest - Vix Redblade" ], "IsStatic": false, "IsStaticCategory": false } ], "HiddenFromSelection": false }, { "Name": "NSFW", "Presets": [ { "Name": "Beach bulge", "Glamourer": [ "6ceb90e8-e6e5-4372-aa78-98ff02a89027" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [], "IsStatic": false, "IsStaticCategory": false }, { "Name": "Casually topless", "Glamourer": [ "53db1f7f-3f5c-496e-a452-ec61f8a993ac" ], "ComplexGlamourer": [], "Honorific": [], "Palette": [], "Customize": [], "IsStatic": false, "IsStaticCategory": false } ], "HiddenFromSelection": false } ], "ForcedPreset": null, "IsGlobal": false } ```
Limiana commented 7 months ago

Hello!

When I stand in a residential area and change to any job, no rules are applied at all, regardless of whether I change to red mage or something else

Could you please confirm whether there are no rules applied or rules don't take effect? If you see some rules highlighted as green, it means they are applied. If there is nothing green, then no rule is matching your conditions at all. Please check whether it's one or other

PrincessRTFM commented 7 months ago

I've relaunched my game since opening this issue, which means I've moved from v1.0.3.3 to v1.0.3.4, as a note.

The rules are showing up green in the window, and it's the correct rules, so the rules are being detected and matched properly. Also, when I click the UI "apply rules" button, everything works as expected.

Limiana commented 7 months ago

I might need more time to investigate that issue, I will let you know once I figure something out or if I need more info

Limiana commented 7 months ago

You have mentioned that you're changing gearset, does job change comes with it? Because just changing gearset isn't enough for rules to reapply

PrincessRTFM commented 7 months ago

It is changing jobs, yes. Each time I've tried has been changing to a different job's gearset. However, if changing gear alone doesn't reapply the rules, then wouldn't that mean that changing gear without changing job will cause the new gear's appearance to be visible instead of the glamoured one?

Limiana commented 7 months ago

Okay so what happens right now is that plugin doesn't reapplies presets when you change job or gearset if set of rules remains the same. That's right, your appearance will change to newly equipped gear. Probably I'll need to add forced rule reapplying when gearser or job changes

Limiana commented 7 months ago

@PrincessRTFM Please try new option Force update appearance on job and gearset changes, it's available in testing version

PrincessRTFM commented 7 months ago

Worked perfectly! Does the option only apply as the name suggests, to changing jobs and gearsets, or does it also operate on changing equipped gear, such as swapping out one piece for another?

Limiana commented 7 months ago

Worked perfectly! Does the option only apply as the name suggests, to changing jobs and gearsets, or does it also operate on changing equipped gear, such as swapping out one piece for another?

it only applies to gearsets and jobs If there's need however I can see if I can make it apply when you manually swap gear as well

PrincessRTFM commented 7 months ago

That would be useful for cases where you update your equipment with something you just got but don't change your job or gearset. Failing that, a command (maybe /db reapply or something) to force recalculation of the applied rules would be useful, which could be made into a macro or QoLBar button to easily reset your appearance to the appropriate ruleset.

Limiana commented 7 months ago

That would be useful for cases where you update your equipment with something you just got but don't change your job or gearset. Failing that, a command (maybe /db reapply or something) to force recalculation of the applied rules would be useful, which could be made into a macro or QoLBar button to easily reset your appearance to the appropriate ruleset.

there is already a command actually, /db apply

PrincessRTFM commented 7 months ago

Oh cool! That'll probably do for simple gear upgrades; the option would be nice, but I expect it would also add load on the plugin to detect that, and it's not something that should be happening too often.