Fix issues with Auto Shadow Spell #3292
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request Prelude
Changes Proposed
Fixes a few issues with Auto Shadow Spell.
When casting Auto Shadow Spell, we now properly check if there are skills copied with Intimidade/Reproduce before trying to get the skill_id
This prevents assertion failures due to the skill id being "0" (no skill)
In current code, this would still work, but cause a log about bad skill handling
Fixed a check that prevented you from switching an active shadow spell to another when their Skill ID was smaller (due to sc val1)
Fix assertion error when clicking "cance" or clicking "ok" in Auto Spell list without selecting a skill
As far as I could analyze, the client is not cleaning up the field that stores the current selected skill, so when you click "ok" it just sends a garbage id that may (or may not) be a valid skill. We now validate before running the skill code.
For cancel, it sends id "0", which is also fixed now since 0 is not a valid skill id.
As a bonus, I've converted both packets related to that flow to use structs.
Issues addressed: Closes #3286