attickdoor / MOActionPlugin

Dalamud plugin to allow for macro-less use of mouseover actions.
GNU General Public License v3.0
50 stars 59 forks source link

Abilities are not cast in order of priority from top to bottom! #87

Open Drillur opened 1 year ago

Drillur commented 1 year ago

image

You might think that UI Mouseover with this setup would have the highest priority. However, when targeting an enmy, Target:Ruin then has the highest priority.

What is horrific about this is that if you change it to Field Mouseover, then Physick gets the highest priority, even over Target:Ruin.

There is no logic to this. It's unintuitive and confusing. I do not know how this works at all.

Alluneve commented 8 months ago
 foreach (StackEntry entry in stackToUse.Entries)
            {
                if (CanUseAction(entry, ActionType))
                {
                    if (!entry.Action.CanTargetFriendly && !entry.Action.CanTargetHostile && !entry.Action.CanTargetParty && !entry.Action.CanTargetDead) return (entry.Action, clientState.LocalPlayer);
                    return (entry.Action, entry.Target.getPtr());
                }
            }

for each stack entry, in the list order you put them in it tries out if it can do the action, and if so, executes it. so it does try UI mouse over physick first, than physick on target, than ruin on target than self physick.

are you 100% sure you HAD a specific UI mouseover target that can be physicked? please validate by entering a trust/dungeon with players, targeting an enemy while being moused over the party UI of one of your allies and trying this again.

edit: I could write a very long paragraph on how CanUseAction figures out if you can use that action...