Technical Notes, AI & Maintenance [EN]

Updated 2 weeks ago

Maintainer-oriented reference for Valheim Enhanced Difficulty.
This page records how the custom configuration was produced/verified, which files are authoritative, and which current values deserve deliberate review in future releases.

AI-assisted configuration disclosure

Some custom configuration and balance work in this modpack was created or adjusted with the assistance of AI tools.

AI assistance was used for:

  • parsing/analyzing large cfg/json/yml files;
  • generating repetitive configuration blocks;
  • comparing original and edited configuration versions;
  • calculating probability/remainder tables;
  • preparing biome-specific Drop That entries;
  • checking duplicates and conflicting/overlapping settings;
  • validating package structure;
  • verifying that packaged config files matched the final exported profile.

Final mod selection, balance choices and publishing decisions were made by the modpack author.

AI was not used here to modify the source code of the included third-party mods. Those mods remain the work of their respective authors/teams.


Source-of-truth files

System Authoritative file in this pack
CLLC config/org.bepinex.plugins.creaturelevelcontrol.cfg
EpicLoot main settings config/randyknapp.mods.epicloot.cfg
EpicLoot custom creature/rarity tables config/EpicLoot/baseconfig/loottables.json
Drop That main behavior config/drop_that.cfg
Drop That supplemental drops config/DropThat_Custom/Biomes/drop_that.character_drop.*.cfg
DropMoreLoot config/TastyChickenLegs.DropMoreLoot.cfg
DataForge general config/sighsorry.DataForge.cfg
DataForge recipe balance config/DataForge/recipes_balance.yml
DataForge building/station balance config/DataForge/pieces_balance.yml

Files/folders named like ОРИГИНАЛЫ, — EDITED, — ЧИСТЫЙ, copy/backup files or .bak-fran-managed-* are not the published source of truth. They were intentionally excluded from the final package.


Published gameplay-build verification

The published gameplay configuration was built from:

MyPack_1790448282453.r2z

The package build verification recorded:

  • 58 enabled mods parsed from export.r2x;
  • 58 manifest dependencies;
  • 153 configuration files included;
  • 30 backup/user-state files excluded;
  • 22 included JSON files parsed successfully;
  • required root package files validated;
  • EpicLoot custom MagicEffectsCount preserved;
  • representative 0★–5★ EpicLoot tables verified;
  • every included config was byte-identical to the source .r2z;
  • final ZIP CRC test passed.

Version 1.0.1 changed documentation only. Gameplay dependencies/configs remained the same as the verified 1.0.0 gameplay build.


Current behaviors to deliberately review before a balance release

1. Black Forest Drop That uses DropOnePerPlayer=true

There are 22 enabled Black Forest supplemental entries, and all 22 currently have this flag enabled.

Drop That documents this mode as dropping one prefab per player and ignoring AmountMin / AmountMax. This means configured ranges such as Coins 150–550 are currently not used as amount ranges for those entries.

This Wiki documents the current profile; it does not silently change it. If the intended behavior is to use the configured ranges, change/test the flag in a future modpack release.

2. Swamp Draugr currently has a large Iron Scrap entry

The active supplemental Draugr table currently contains:

  • prefab: IronScrap
  • amount: 20–50
  • chance: 15%
  • DropOnePerPlayer=false

This is the exact final profile value. It should be consciously reviewed before the next swamp/iron-progression balance pass.

3. EpicLoot 10/20/25/35/40/45 values are raw table values

The custom creature tables contain 0-or-1-item values of 10/20/25/35/40/45% for 0★–5★. The active main EpicLoot cfg also contains:

Global Drop Rate Modifier = 1.8

EpicLoot documents that setting as globally modifying how likely loot is to drop. Therefore the star values should be described as raw/base custom loot-table values, not guaranteed final effective drop probabilities.

Also, Item Drop Ratio, Shard Stone Drop Ratio, Items Unidentified Drop Ratio and Materials Drop Ratio are documented by EpicLoot as relative weights, not four independent probabilities.

4. Skeleton EpicLoot exceptions

Skeleton still uses RefObject = Tier1Mob.

Skeleton_Poison still uses RefObject = Tier2Mob.

They are therefore not using the explicit custom 0★–5★ table. Skeleton_DeepNorth is explicitly customized.

5. Disabled Drop That biome files

Current supplemental state:

  • Ocean: 0 enabled / 1 section
  • Ashlands: 0 enabled / 10 sections
  • Deep North: 0 enabled / 24 sections

These files are placeholders in the current release, not active custom drop systems.


Current exact balance checkpoints

Useful values to compare after any future config regeneration:

System Checkpoint
CLLC Base HP 144%, HP/star 110%, base damage 115%, damage/star 55%
CLLC Multiplayer HP/player 60%, damage/player 8%, range 200 m
CLLC Creature loot/star 25%, boss loot/star 35%, boss drop multiplier 2×
EpicLoot Global Drop Rate Modifier = 1.8
EpicLoot Custom raw 0★–5★ one-item values: 10 / 20 / 25 / 35 / 40 / 45%
EpicLoot Explicitly changed creature object tables: 76
Drop That 231 custom sections; 186 enabled, 45 disabled
Drop That All custom sections: ScaleByLevel=false
DropMoreLoot whitelist enabled, 149 unique prefab IDs
DataForge 524 recipe overrides; 70 piece overrides

Release history

1.0.0

  • Initial public gameplay release.
  • 58 pinned dependencies.
  • Custom CLLC difficulty configuration.
  • Custom EpicLoot creature/effect-count tables.
  • Supplemental Drop That biome tables.
  • DropMoreLoot whitelist/multipliers.
  • DataForge recipe/piece rebalance.
  • Content and QoL dependency set.

1.0.1

  • Gameplay configuration unchanged.
  • README expanded.
  • English + Russian documentation added.
  • CLLC/EpicLoot/Drop That/AI-assistance documentation improved.

Maintenance checklist for every gameplay release

Before publishing:

  • export a fresh .r2z;
  • compare exact dependency versions against the previous release;
  • diff the authoritative CLLC/EpicLoot/Drop That/DropMoreLoot/DataForge files;
  • parse/validate every JSON/YAML that will ship;
  • search for backup files and user-specific save/state files;
  • check duplicate Drop That section IDs;
  • explicitly check Drop That DropOnePerPlayer and ScaleByLevel;
  • account for EpicLoot Global Drop Rate Modifier when documenting percentages;
  • test a fresh profile;
  • test multiplayer/server synchronization after significant gameplay changes;
  • update README, CHANGELOG and affected Wiki pages;
  • increment the package version;
  • keep Thunderstore Team/name unchanged for normal updates.

Documentation rule

If documentation and configuration disagree, the shipped configuration is authoritative. Verify the current exported profile before updating numbers in the Wiki instead of copying older values from memory or an old README.