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

Ninja positional feedback broken #16

Open
Soren-png opened this issue Jul 15, 2024 · 4 comments
Open

Ninja positional feedback broken #16

Soren-png opened this issue Jul 15, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@Soren-png
Copy link

As title says, the positional feedback doesn't seem to be working for ninjas specifically. Regardless of angle, both it's rear and flank register as failed

@kaedys
Copy link

kaedys commented Jul 22, 2024

Poking in to say that this is broken for Reaper as well, and the new Executioner upgrades (Executioner's Gibbet (ID 36970), Executioner's Gallows (ID 36971)) aren't counted at all.

@Limiana Limiana added the bug Something isn't working label Jul 23, 2024
@SilvaLau
Copy link

I was just testing this for the first time today on Samurai, and no matter what I do, it registers as Positional MISS. Made me wonder for a minute if I have been playing my melee job wrong this whole time... Came to the forum to find out why.

@masanbol
Copy link

masanbol commented Aug 5, 2024

Monk is also broken - safe to say this plugin is nonfunctional at the moment

@NjalTheKnut
Copy link

NjalTheKnut commented Aug 27, 2024

I am having this issue only with NIN, though I have not tested extensively with other classes/jobs.

For me, only the Armor Crush feedback is broken, as Aeolian edge still functions correctly. Armor crush always displays failure visually yet seems to have the correct sound...maybe. I will see if I can discern more closely the sound it gives off to identify if it is merely a visual VFX issue or a logic hiccup someplace. It could be that the action ID has changed, and thus is defaulting to the initialized value of "false" for success.

Update: I confirmed online that according to the community pages, the ID has not changed. I will verify this in-game if and when I can.

That said, it does seem like the issue lies in the logic of that specific ability, and not the serving of the VFX, as some abilities, (i.e. Aeolian Edge) do still function normally. Perhaps it is just flanking maneuvers?

I see a potential logic bottleneck starting at line 290 in Util.cs if that helps.
Nevermind, that's for anticipation wedges, not feedback vfx.

The place I think may be more relevant to check is line 26 in Memory.cs

Update: Lines 36, 40, and 41 of Memory.cs seem especially relevant.

I just tested and opened the log window to see what filtering to Avarice showed, and it seems there is a null parameter exception when calling CallStatic on RemoveVfx in VfxEditorManager.cs

I suspect perhaps it cannot find something when calling that function, and the correct VFX is shown for failure simply because it is the default initialized state.

I am not sure if this is related to the version of vfxedit I have installed, or not.

image

Seems to me like line 27 could be relevant here, though being unfamiliar with the code history I'm hesitant to try changing it myself for personal curiosity testing. My suggestion is to perhaps see if it will help changing the empty brackets out for null, if that won't break it. I think that could be the problem there, based on the errors I got each time I executed a positional in-game.

Update: Found out I can copy logs from the xllog window, which I will paste below.

14:05:51.199 | ERR | [Avarice] Object reference not set to an instance of an object.
14:05:51.209 | ERR | [Avarice]    at ECommons.Reflection.ReflectionHelper.CallStatic(Object obj, String type, String name, Object[] values) in D:\VS\Avarice\ECommons\ECommons\Reflection\ReflectionHelper\CallStatic.cs:line 20
	   at Avarice.VfxEditorManager.RemoveVfx() in D:\VS\Avarice\Avarice\VfxEditorManager.cs:line 26
14:05:58.324 | ERR | [Avarice] Object reference not set to an instance of an object.
14:05:58.324 | ERR | [Avarice]    at ECommons.Reflection.ReflectionHelper.CallStatic(Object obj, String type, String name, Object[] values) in D:\VS\Avarice\ECommons\ECommons\Reflection\ReflectionHelper\CallStatic.cs:line 20
	   at Avarice.VfxEditorManager.RemoveVfx() in D:\VS\Avarice\Avarice\VfxEditorManager.cs:line 26

So, TLDR, it appears there may be two issues at play here, one for the error I observed in the logs, and one for the specific ability, though whether they are related is possible, yet unclear how. The error appears whenever I use either Aeolian Edge or Armor Crush, but the symbol rendered is wrong on just the Armor Crush.

Update: It seems the method Remove does not exist in the Spawn.VfxSpawn file of VFXEditor. Clear and InteropRemoved do though, and there is a Remove function elsewhere, in the Node specific functions. Perhaps it is necessary to just switch either the function or its namespace to get the error to go away. Not sure that will impact the false failures, though they are somehow correlating based on my observations while testing.

Update: The error disappears in the log when using a local edited copy of the plugin with Clear used in place of Remove. The incorrect symbol is still displayed for Armor Crush, however. I suspect it may be tied to the CSV file for positionals, and some value being parsed incorrectly from that.

Using some debug output from another plugin called Damage Info, the percentages appear to be different for both Aeolian Edge and Armor Crush from those stored in the latest data.csv, so perhaps that may be an indication some things in the spreadsheet are amiss, or something it is compared to will be found as a factor. Hopefully these observations help.

It should be noted that Damage Info is also reporting the Armor Crush as a failure, so this may be an issue with a common dependency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants