Valheim
0 of 0

File information

Last updated

Original upload

Created by

EonaStellar

Uploaded by

EonaStellar

Virus scan

Safe to use

About this mod

Modifies the behavior of portals to permit traveling with teleport-blocked items on the condition that the player has defeated the boss of the biome from which the item is first found. For example, defeating Bonemass will allow the player to travel through portals with iron. These rules can be applied to any item through the configuration file.

Requirements
Permissions and credits
Changelogs
Donations
Description

Progression Portals is a client-side plugin that modifies the behavior of portals to permit traveling with teleport-blocked items on the condition that the player has defeated the boss of the biome from which the item is first found. The exact conditions to permit traveling with specific portal-locked items can be changed by editing the configuration file. The inspiration for this mod was wanting to preserve the game's progression as envisioned by Iron Gate Studio while also reducing the tedious aspects of the game that occur after that progression has been achieved.

This mod determines which bosses have been defeated by checking to see if specific items dropped by those bosses have been ever been held by the player. For example, the player can go through portals with bronze just by having held the Crypt Key dropped by The Elder at any point. If anyone knows how to check if the player has actually defeated the boss, please let me know because I couldn't find a way to do it.

Optionally, the default behavior of Progression Portals can be overridden to conditionally allow or disallow any items from going through portals. Here are just a few things you can do with this mod:
  • Block all items from going through portals.
  • Block items from going through portals until requirements are met.
  • Block all items from going through portals except for a specified few.
  • Permit all items go to through portals.
  • Add/remove/change what items can go through portals.
  • Set custom requirements that must be met in order to bring certain items through portals.


Installation

This mod requires BepInExPack Valheim to be installed first. Extract the ProgressionPortals.dll from the zip file info your Valheim/BepInEx/plugins folder. Launching the game with the mod installed will then generate the configuration files at Valheim/BepInEx/config/ProgressionPortals.



Configuration

ProgressionPortals.config
General settings for the mod. It uses a simple field=value format. A description of each field in this file can be found below.

CheckAllItems
Enables the use of teleport requirements on items that aren't normally teleport-blocked. Must be enabled if you want to make most non-metal items teleport-blocked until requirements are met. Defaults to false.

BlockByDefault
Determines the teleportability of all items not listed in TeleportRequirements.config. If enabled, only items listed in the requirements can be teleported and only if the requirements (if any) for it are met. Defaults to false. I recommend leaving this disabled unless you only want a few specific items being able to travel through portals.

TeleportRequirements.config
This file determines what items are or are not permitted to teleport as well as the requirements that must be met to do so. Each row is the configuration for a single item type. It uses the internal Valheim IDs for teleport-blocked items, with the affected item on the left side of a colon and the required item(s) on the right with commas separating each requirement. It does not check the item IDs for validity, so any invalid IDs will be treated as items that do not exist. Additionally, any rows that are formatted incorrectly or begin with two hyphens (--) will be ignored.

Each line will look something like this:
$item_lockeditem: $item_requireditem1, $item_requireditem2

Requirements can be omitted to always permit an item to teleport:
$item_item
   or
$item_item:

Invalid/impossible requirements can be set to prevent an item from teleporting ever:
$item_lockeditem: never
   or
$item_lockeditem: $item_notarealitem

Lines can be disabled by adding two hyphens in front of them without removing them:
--$item_lockeditem: $item_requireditem1



Default Configuration

The Elder - Crypt Key
Tin Ore
Tin
Copper Ore
Copper Scrap
Copper
Bronze

Bonemass - Wishbone
Iron Scrap
Iron

Moder - Dragon Tear
Silver Ore
Silver
Dragon Egg

Yagluth - Torn Spirit
Black Metal Scrap
Black Metal

The Queen - QueenDrop
Mechanical Spring
Dverger Extractor

Zil & Thungr - Zil Trophy & Thungr Trophy
Iron pit

TBD (Teleport-Blocked)
Flametal Ore
Flametal



Planned Features

  • Server sync
  • Non-item requirement types, like forsaken powers and skill levels.
  • Boolean operations for compound requirements. For example, making listed requirements be A or B instead of A and B.
  • Item ID validation in the config file and an option to disable the validation.
  • Switching the config files to a markup language like YAML.
  • Configuring access to forsaken powers at the world's spawn with the same requirement configuration as on portals. This may be out of the scope of this mod.
  • A text file of all item IDs in Valheim to be included in the files section. This would serve as a reference for people wanting to set other item types in the config file without having to look up the IDs on their own.


Source:

The source will be posted to GitHub once I finish adding server sync,  additional requirement types, and switching the config files to YML.