[Death Knight] guard lesser ghoul expression parsing#11464
Closed
Harmenszoon wants to merge 1 commit into
Closed
Conversation
Member
|
this is old/dead code that should probably be deleted instead, as blizzard added a stacking buff counter for it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
lesser_ghoul.*expression parsing before reading missing split segments.lesser_ghoul.oldest.remainswhen no lesser ghoul is active.Cause
death_knight_t::create_expression()handled any expression beginning withlesser_ghoulbut readsplits[1]and sometimessplits[2]before confirming those segments existed. The same parser also builtlesser_ghoul.oldest.remainsby readingactive_lesser_ghouls[0], which is empty before the first lesser ghoul is active and after all lesser ghouls despawn.active_lesser_ghoulsis populated inlesser_ghoul_pet_t::arise()and erased indemise(), so an empty list is a normal state. Returning zero foroldest.remainsmatches the inactive/remains behavior used by nearby expressions such as active Death and Decay remains.Validation
build-fastwith MSVC/Ninja throughVsDevCmd.bat.build-fast/simc.exe profiles/MID1/MID1_Death_Knight_Blood.simc actions=/wait,sec=1,if=lesser_ghoul iterations=1 target_error=0 cleanup_threads=1aborted infmt\base.h:433.build-fast/simc.exe profiles/MID1/MID1_Death_Knight_Blood.simc actions=/wait,sec=1,if=lesser_ghoul.oldest.remains iterations=1 target_error=0 cleanup_threads=1exited with an access violation.build-fast/simc.exe profiles/MID1/MID1_Death_Knight_Blood.simc actions=/wait,sec=1,if=lesser_ghoul iterations=1 target_error=0 cleanup_threads=1reportsUnknown lesser_ghoul expression 'lesser_ghoul'.build-fast/simc.exe profiles/MID1/MID1_Death_Knight_Blood.simc actions=/wait,sec=1,if=lesser_ghoul.oldest iterations=1 target_error=0 cleanup_threads=1reportsUnknown lesser_ghoul expression 'lesser_ghoul.oldest'.build-fast/simc.exe profiles/MID1/MID1_Death_Knight_Blood.simc actions=/wait,sec=1,if=lesser_ghoul.oldest.remains iterations=1 target_error=0 cleanup_threads=1 output=NULexits 0.build-fast/simc.exe profiles/MID1/MID1_Death_Knight_Blood.simc actions=/wait,sec=1,if=lesser_ghoul.count iterations=1 target_error=0 cleanup_threads=1 output=NULexits 0.build-fast/simc.exe profiles/MID1/MID1_Death_Knight_Blood.simc iterations=1 target_error=0 cleanup_threads=1 output=NULexits 0.build-fast/simc.exe profiles/CI.simc iterations=10 target_error=0 cleanup_threads=1 output=NULexits 0 with existing baseline warnings.Risk
Low. This only tightens expression parser segment checks and handles the normal no-active-lesser-ghoul state for
oldest.remains.