Feature/warlock - #1533
Open
1337LutZ wants to merge 5834 commits into
Open
Conversation
Fix T16 2P spellmasks
[FDK] T16 4pc proc behavior changes
Fix Readiness not affecting ascendance
Update Demo T16
Fix Arcane T16 2P
The binary protobuf encoding is nondeterministic (map ordering), so a no-op regeneration previously churned the .bin files on every run. The JSON output is deterministic and covers all UIDatabase fields, so compare the freshly built JSON against the file on disk and skip writing both files when identical.
Correctness: - WriteBinaryAndJson only skipped writing when db.json was unchanged, so a deleted or corrupt db.bin was never regenerated and make db still exited 0. Require the binary to exist before skipping. WriteBinary/WriteJson now fail loudly instead of discarding os.WriteFile's error, which that guard relies on. - DecodeRows clones a copy-table row's decoded values, which only matches upstream while no column is COMMON-compressed: common values are resolved by row id, so a copy row would inherit the source id's value. No table has both today; error out instead of silently emitting wrong rows if that changes. - Bound the .dbd and listfile HTTP requests. The listfile deliberately bounds connect and response-header time only, since a legitimate ~150 MB transfer must not be cut off mid-flight. - Warn when --dbcache is given but no pinned file holds the extracted build, instead of quietly running without the hotfix overlay. - --build now takes a bare number or a full version string and no longer leaks an internally synthesized "0.0.0."+v into its error message. Unused code: bitReader.clone, the value32 accessors, Build.BuildConfig/ CDNConfig plus the CDN config read the local-only reader never needed, AvailableBuild.CDNPath/CDNConfig, five unread WDC5 header fields (the cursor still reads past them), and Decoded.ColumnNames, which had become a second source of truth for column order next to the version definitions. Settings files and their bindings now carry only the keys that are read. Tests: the golden gates diffed against a .NET reference capture, and the .NET tool is gone, so that reference can never be regenerated again. Together with the build-68571 fixtures under a gitignored refs/, 8 of 9 tests could only ever skip. Replaced with 21 fixture-free tests that always run: exhaustive unaligned bit-reader reads against an independent reference implementation, a synthetic XFTH v9 builder covering parse/dedup/rejection paths, SStrHash pinned to two known table hashes, and a .dbd parser suite built on an inline definition. Also fixes the sqlite test's all-zero-array assertion, which was reading the row it had just upserted. Idiom: license headers no longer sit in the package-doc slot (godoc showed concatenated license text), one package doc per package, range-over-int, strings.SplitSeq, slices.Sort/Equal, and max where gopls' modernize analyzer flagged them. Verified: extracting build 68806 with the live DBCache.bin reproduces the committed wowsims.db exactly — 236 schema objects identical, 0 differing rows across all 72 tables.
Malkorok - various timing fixes
The ReforgeOptimizer multiplies haste/mastery EP by the amplification trinket modifier, but Unholy EP weights already include it when sourced from stat weight runs with the trinket equipped (as in the P5 defaults, whose gear set includes Thok's Tail Tip). With haste EP close behind crit, the extra ~8.5% boost made the reforger wrongly prefer haste. Add the same getEPDefaults normalization Blood and other specs use, dividing haste/mastery EP by the amp modifier so it is counted once.
The ReforgeOptimizer multiplies haste/mastery EP by the amplification trinket modifier, but Unholy and Frost EP weights already include it when sourced from stat weight runs with the trinket equipped (their P5 gear sets include Thok's Tail Tip). With haste EP close behind crit, the extra ~8.5% boost made the Unholy reforger wrongly prefer haste; Frost's 2h mastery/crit margin was similarly distorted. Add the same getEPDefaults normalization Blood and other specs use, dividing haste/mastery EP by the amp modifier so it is counted once.
….com/darkmaster2133/darkfrog-edits into fix/unholy-reforger-amp-double-count
The retuned weights (crit 0.75) were compensating for the reforger double-counting amplification trinkets; with that fixed separately, the original weights (crit 0.68, haste 0.64, mastery 0.61, AP 0.3) reforge correctly. Keeps the P5 gear set changes.
…double-count Fix reforger double-counting amplification trinket for Unholy/Frost
Fix Unholy DK P5 gear set
Adds APLValueBossSpellCastTimeRemaining, exposing the remaining time on a boss's current hardcast of a specific spell as a Duration, composable with the existing Compare operator (e.g. to trigger a defensive cooldown shortly before a cast completes, such as Malkorok's Imploding Energy). The constructor rejects spells with no cast time (instants and channels) with a validation warning, since the value would otherwise silently never report non-zero. bossHardcastRemaining is factored out and shared with BossSpellIsCasting so the two can't drift out of sync. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Reimplement DB2ToSqlite in Go
Add Malkorok preset
Fix Destro T16 4P ICD
…remaining Feat/apl boss cast time remaining
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.
No description provided.