Skip to content

Use official Epic Loot tablet support - #153

Merged
jneb802 merged 1 commit into
mainfrom
refactor/native-epicloot-tablets
Oct 25, 2026
Merged

jneb802 merged 1 commit into
mainfrom
refactor/native-epicloot-tablets

Conversation

@jneb802

@jneb802 jneb802 commented Oct 25, 2026

Copy link
Copy Markdown
Owner

Use official Epic Loot 0.15.1 support for Endgame tablets instead of PraetorisClient's temporary compatibility patches.

  • Remove the complete EndgameCompatibility class, its Endgame soft dependency, and initialization/shutdown calls. No unused references remain. Other Epic Loot integrations and Endgame configuration patches are retained.
  • Update manifest and Thunderstore dependencies to Epic Loot 0.15.1 and BepInExPack 5.4.2351. Upstream's published DLL contains the enchanting/socket enforcement and crafting-result fixes; evidence is in Replace temporary tablet compatibility with official Epic Loot 0.15.1 #152.
  • Release build passes with zero errors and 83 warnings. Diff whitespace checks pass. No gameplay logic is added.
  • Separately merged this branch with release PR Prepare PraetorisClient 0.1.106 with Endgame 0.8.0 #151 for the user's local test build: PraetorisClient 0.1.106, Endgame 0.8.0 from Endgame PR Bundle Valheim Endgame and tablet compatibility in PraetorisClient 0.1.102 #145, and official Epic Loot 0.15.1. Installed in local praetoris-season-8-beta, with matching file hashes, version records, current Endgame Epic Loot patches, and local Enforcer hashes. This PR targets main and does not duplicate Prepare PraetorisClient 0.1.106 with Endgame 0.8.0 #151's version bump.
  • Live validation is pending with the user. Test old saved tablets after reconnect/restart, new enchantment and augmentation, result text/icon, rejection of tablet sockets/chisels/shards, ordinary equipment enchanting/socketing, and encounter activation. No production changes or publication were made.
  • Epic Loot package/plugin version is 0.15.1; its assembly metadata remains 0.13.0.0. The installed DLL matches the official package SHA-256 33d5377a0077c261b7e658acb3788e34cfa98896da6247bbebde22fc24d5b048.

Closes #152.

@github-actions

Copy link
Copy Markdown

I have enough context for a complete review.


No blocking issues found.

Summary

The diff removes EndgameCompatibility.cs and its three callsites in Plugin.cs, then bumps Epic Loot and BepInExPack in both manifest files. The removal is clean: no dangling references to the deleted class, its constants, or IsTabletName remain anywhere in Source/.

Soft-dependency removal is safe

The only remaining Endgame-related code is Source/Endgame/EndgameBetaAccess.cs, which gates beta-server access through RPCs and server config. It does not reference warpalicious.ValheimEndgame by GUID, does not patch Endgame types, and does not require Endgame to be loaded before Awake() runs. Removing [BepInDependency(EndgameCompatibility.EndgameGuid, SoftDependency)] therefore carries no load-ordering risk for retained code.

Craft-result fix assumption

ApplyCraftResultFix was called even on the HasNativeSupport path (the guard Count(i => i.Calls(enabled)) >= 3 made it a no-op when upstream already enabled all three fields). With 0.15.1 the assumption is that CraftSuccessDialog.Show already enables NameText, Description, and Icon natively. If it does not, crafted items will silently show a blank name/icon/description in the success dialog. The PR description addresses this with SHA-256 hash evidence and flags live validation as pending — that's the right place to catch it, not in this diff.

Manifest consistency

manifest.json and thunderstore.toml update the same two dependencies (BepInExPack and EpicLoot) identically. The package version number (0.1.104) is intentionally unchanged per the PR description.

No behavioral bugs are introduced by the diff itself.

@jneb802
jneb802 merged commit b6ede9c into main Oct 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace temporary tablet compatibility with official Epic Loot 0.15.1

1 participant