You are viewing a potentially older version of this package. View all versions.
VentureValheim-World_Advancement_Progression-0.0.7 icon

World Advancement Progression

In Beta: Have more control over the world progression. Useful for multiplayer and RP servers.

Date uploaded 2 years ago
Version 0.0.7
Download link VentureValheim-World_Advancement_Progression-0.0.7.zip
Downloads 242
Dependency string VentureValheim-World_Advancement_Progression-0.0.7

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2202 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2202
ValheimModding-Jotunn-2.19.2 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.19.2

README

World Advancement and Progression

Created by [email protected].

Introduction

This mod is in Beta: Use at your own risk! (make a backup of your data before you update). You will likely need to generate a fresh config file.

World Advancement and Progression lets you fine tune world settings. Ideal to use on multiplayer/RP (roleplay) servers to control world advancement.

Features

NOTE: This mod is under heavy development and is not finished. All pre-releases are intended for those interested in helping test new features until the first official release.

The main feature of this mod is to have an easy way to fully customize the world difficulty. Set the difficulty of each biome by using the automatic scaling system or by defining your own custom scaling. Configure all creatures and items automatically with the auto-scaling feature. This mod will dynamically create a game balance that is very different from the Vanilla gameplay experience!

Public Keys

By default this mod will prevent/block public keys from being added to the global list. BlockAllGlobalKeys is true by default; To use Vanilla behavior change BlockAllGlobalKeys to false. Configure AllowedGlobalKeys or BlockedGlobalKeys lists to allow/block keys ONLY depending on the value of BlockAllGlobalKeys. To see details generate the config file. These keys are case sensitive and MUST match the value exactly or it will not work. This feature will work with other mods that add in custom keys.

Examples of Vanilla Public Keys:

  • defeated_eikthyr
  • defeated_gdking
  • defeated_bonemass
  • defeated_dragon
  • defeated_goblinking
  • KilledTroll
  • killed_surtling
  • KilledBat

Planned features include: Implementing a player key system separate from the global key system. For developers: define your own player keys and use them in your mods!

Skill Drain

Customize skill drain by turning it off entirely, setting to an absolute number, or using a comparison to choose the lower/higher skill drain. See options in the config file.

Planned features include: Implementing a skill floor and ceiling controlled by public and player keys.

World Scaling (In Progress)

The world is scaled according to the natural vanilla game progression by default. To customize the built in automatic scaling feature you will have to have a basic understanding of linear and exponential scaling. Set the type of scaling and the rate in the config files. Disable/Enable the scaling feature for Creatures/Items individually in the configs.

Linear scaling by default is a 75% growth (0.75). This means your 1st biome (Black Forest, Meadows is 0th) will have a scaling factor of 1.75, and 7th will be 6.25 for calculations. All items naturally found in these areas will have this scaling applied to them.

To use Exponential scaling (the ideal scaling method in my opinion) more care must be taken with the config in order not to generate huge numbers that break everything. Given that there are by default only 8 biomes to scale, the maximum scaling value you can input is roughly 21 without blatantly breaking the code generating the values (for 12 biomes this number is about 6). However, 21 is a much, much bigger number than you could ever want. Recommended values for exponential scaling are in a range of 0.25 - 1 (if only using 8 biome difficulties). For example, an exponential scaling of 0.75 will set the 1st biome to 1.75x harder, 7th biome to be about 50x harder than the base biome. This is in stark contrast to the values set by linear scaling and is the ideal way to naturally enforce "Biome Locking" (which is the main reason why this mod exists).

Planned features include: Finishing the auto scaling to work for all aspects of the game balance (creatures, armor, weapons, etc).

Custom Biomes (for developers) (In Progress)

Planned features include: Define your own biomes and add them to the scaling system by using any int value as a key that is not used. This mod's default values can be overridden to set custom scaling after initialization. (Again, please use caution with the Exponential scaling feature configuration)

Examples:

  • To add a Biome '10' that is one biome harder than Plains (4th hardest by default, Meadows is 0th) use: AddBiome(10, 5)
  • To add a Biome '10' that is 250% harder than the baseline use: AddCustomBiome(10, 2.5)
  • To override Meadow's difficulty after it has been initialized: AddBiome(0, 8, true) or AddCustomBiome(0, 1.3, true)

Biomes are given the following int codes:

  • Undefined = -1
  • Meadow = 0
  • BlackForest = 1
  • Swamp = 2
  • Mountain = 3,
  • Plain = 4
  • AshLand = 5
  • DeepNorth = 6
  • Ocean = 7
  • Mistland = 8

Other Features

  • ServerSync included

Changelog

0.0.7

  • Added ability to scale creature damage. Tweaked difficulty defaults for some creatures.

0.0.6

  • Added ability to scale the world difficulty with maths! Scales creature health ONLY, updates to come!

0.0.5

  • Added additional Skill Drain configuration option. Ability to use the minimum or maximum Skill Drain value (absolute skill drain vs vanilla).

0.0.4

  • Packaged ServerSync into the main dll.

0.0.3

  • Added new dependency for Venture ServerSync.

0.0.2

  • Added ability to configure Skill drain on death - disable or set to an absolute number.

0.0.1

  • Added ability to prevent/block public keys from being added to the global list. Configurable Allow/Block list options.

Contributing

All issues can be reported on the project Github. To report issues please be as specific as possible and provide the following:

  1. Version of this mod you are using.
  2. List of the other mods being used.

All feedback, ideas, and requests are welcome! You can message me at my discord Venture Gaming.

CHANGELOG

0.2.11

  • Refactored configuration live updates to only happen when needed.
  • Refactored server key tracking to use player IDs rather than names. This will allow players to have the same name on a server.
  • Removed cleanup patch for incorrectly configured world modifiers (if you manually break your world modifiers you can fix them with Venture Debugger).
  • Set commands to onlyServer false.

0.2.10

  • Update for game patch 0.217.46

0.2.9

  • Added compatibility for power locking with the Passive Powers mod. Should now work when multiple powers are selected given player and/or world must have unlocked all keys for selected powers.

0.2.8

  • Restored private key implementation for raids from the pre-Hildir update.
  • Fixed blocking not working for ammo items like arrows due to auto-equipping.

0.2.7

  • Improved other mod compatibilities by additionally patching for ZoneSystem.RPC_RemoveGlobalKey method.
  • Added new command removeglobalkey due to previous change altering the vanilla removekey command.
  • Refactored patches so both global keys and private keys lists are handled appropriately when using private keys to respect global key configurations. Changes some vanilla commands' behavior.
  • Added built in support for the Seasonality mod.

0.2.6

  • Improved other mod compatibilities when using private keys by additionally patching for ZoneSystem.GetGlobalKeys method.
  • Added new command listglobalkeys due to previous change altering the vanilla listkeys command.
  • Added new command resetglobalkeys.
  • All keys will now be converted to lowercase internally for handling to mimic vanilla behavior (let me know if this causes issues with other mods using keys)

0.2.5

  • Fixed issues with skill levels being calculated incorrectly when UseBossKeysForSkillLevel was true.
  • Added new configuration LockPortalsKey to control player ability to use portals. Defaults to off.
  • Added check to make sure activeBosses key is treated like world modifiers.

0.2.4

  • Fixed an issue where item upgrades were not checked for locking. Will now correctly identify item level and will lock items based on current summation of crafting ingredients for items.

0.2.3

  • Removed the Qualifying keys feature added in 0.1.1, mod will now correctly identify world modifiers without further configuration
  • Orphaned config QualifyingKeys will remain in your config files but is not used
  • If using other mods that add keys between the updates (0.1.1 - 0.2.2) they may now be in your global key list (might not cause issues, but be aware)

0.2.2

  • Fixed issue with PlayerEvents world modifier not being applied correctly (was disabling raids when using private keys)

0.2.1

  • Update for game patch 0.217.22, bepinex version 5.4.22.0

0.2.0

  • Added Jotunn library as new dependency for config syncing, you now must also install Jotunn for this mod to work
  • Added new config for admins to bypass locking settings
  • Added new config to toggle blocked action fire effect
  • Added missing items to locking system: lox pelt, blue jute, sharpening stone, thistle, entrails
    • Note: entrails set to defeating Eikthyr (not Elder) due to meadows draugr villages
  • Fixed issue with cauldron not locking cooking

0.1.4

  • Added new configurations for Hildir trade items
  • Bug fix for instances where hiding all trader items throws an error

0.1.3

  • Created save recovery patch to fix duplicate world modifiers entry
  • GlobalKeyAdd use false for canSaveToServerOptionKeys parameter to avoid duplicate entry

0.1.2

  • Added check to ensure player events key is not added multiple times after restart (part of corruption issue)

0.1.1

  • Hard check added to ensure keys are not world modifiers, fixes world save corruption issue (super apologies for this)
  • QualifyingKeys config added to allow support for other mods due to hard check
  • Private key cleanup will now remove all keys that are non-qualifying, make sure to configure this new setting

0.1.0

  • Update for game patch version 0.217.14 (Please read Hildir update notes at top)
  • First official release, bug fixing to come for Hildir as reported
  • UsePrivateKeys config now defaults to true
  • Removed private key implementation for raids, now sets and uses the vanilla world modifier for player based raids

0.0.29

  • Removed world scaling feature from this mod (get the new mod if previously using)
  • Deprecated the key file port logic (Files deprecated in version 0.0.19, if you have used a newer version of this mod your characters are already upgraded)
  • Added logic to support global key management server-side only
  • Added config toggle to display the blocked action message and effect
  • Added config settings for automatic boss summon unlocking over time
  • Moved the locking configs to a new section (You will have to manually update your config file if using)
  • Moved boss keys for skill level configs to Skills section (You will have to manually update your config file if using)
  • P.S. This should be the last set of major changes before the official release

See all patch notes on Github.