You are viewing a potentially older version of this package. View all versions.
ASharpPen-Drop_That-1.8.2 icon

Drop That

Tool for configuring mob loot tables.

Date uploaded 2 years ago
Version 1.8.2
Download link ASharpPen-Drop_That-1.8.2.zip
Downloads 578
Dependency string ASharpPen-Drop_That-1.8.2

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

README

Drop That!

This mod enables configuration of any mob loot table.

This solution is set up to easily (well, somewhat) configure any "character" drop table in the game. It can either add or replace existing drops.

See the Valheim wiki to get a list of item names which can be used.

A pretty comprehensive guide for prefabs can be found here

Features

  • Override any existing potential drop of a mob, by specifying the index (0 based) of the item you want changed.
  • Add as many additional drops with their own drop chance or drop range as you want
  • Discard all existing drop tables
  • Discard all existing drop tables for entities modified.
  • Configuration templates, for easy extension.
  • Add conditions for when a mob should drop an item
  • Server-side configs
  • Adds mod specific options for:

Manual Installation:

  1. Install the BepInExPack Valheim
  2. Download the latest zip
  3. Extract it in the <GameDirectory>\Bepinex\plugins\folder.

Configuration

Attempting to work with the BepInEx configuration system, but is set up to manage "arrays" of drops. The configuration file 'drop_that.tables.cfg' is expected (and generated if not present) in the BepInEx config folder. It will be empty by default, and the user is expected to add in the changes desired.

If files are not present, start the game and they will be generated. Restart to apply changes.

Default drop tables and other helper info, can be generated by setting toggles in the main configuration file 'drop_that.cfg'. Pre-generated version can be found here:

Client / Server

Drop That needs to be installed on all clients to work.

From v1.4.0 clients will request the configurations currently loaded by the server, and use those without affecting the clients config files. This means you should be able to have server-specific configurations, and the client can have its own setup for singleplayer.

General

'drop_that.cfg'

General configurations. Contains predefined configurations, which includes rules for how the 'drop_that.tables.cfg' entries will be applied.


[General]

## Enable debug logging.
EnableDebug = false

## Loads drop table configurations from supplemental files.
## Eg. drop_that.supplemental.my_drops.cfg will be included on load.
LoadSupplementalDropTables = true

[DropTables]

## When enabled, all existing items in drop tables gets removed.
ClearAllExisting = false

## When enabled, all existing items in drop tables are removed when a configuration for that entity exist. 
## Eg. if "Deer" is present in configuration table, the configured drops will be the only drops for "Deer".
ClearAllExistingWhenModified = false

## When enabled, drop configurations will not override existing items if their indexes match.
AlwaysAppend = false

## When enabled, drop conditions are checked at time of death, instead of at time of spawn.
ApplyConditionsOnDeath = false

[Debug]

## Enables in-depth logging. Note, this might generate a LOT of log entries.
EnableTraceLogging = false

## When enabled, creates a file on world start, in the plugin folder containing the default mob drop tables.
WriteDefaultDropTableToFile = false

## When enabled, creates a file on world start, in the plugin folder containing items of mobs that have drop tables.
WriteCreatureItemsToFile = true

Drop Tables

'drop_that.tables.cfg'

Main file for inserting drop configurations. Drop tables are configured by creating a section as follows:

[<EntityPrepfabName>.<DropIndex>]
ItemName = <ItemPrefabName>
AmountMin = <integer>
AmountMax = <integer>
Chance = <DropChance> //0 disables it, 0.5 is 50% chance, 1 is 100% chance.
OnePerPlayer = <bool>
LevelMultiplier = <bool>
Enabled = <bool> //Disables this entry from being applied.

The DropIndex is used to either override an existing item drop, or simply to add to the list. Multiple drops for a mob can be modified by copying the above multiple times, using the same entity name and a different index.

Conditions can be added to each index as follows:


## Minimum level of mob for which item drops.
ConditionMinLevel = -1

## Maximum level of mob for which item drops.
ConditionMaxLevel = -1 

## If true, will not drop during daytime.
ConditionNotDay = false

## If true, will not drop during afternoon.
ConditionNotAfternoon = false

## If true, will not drop during night.
ConditionNotNight = false 

## Array (separated by ,) of environment names that allow the item to drop while they are active.
## Eg. Misty, Thunderstorm. Leave empty to always allow.
ConditionEnvironments = 

## Array(separated by,) of global keys names that allow the item to drop while they are active.
## Eg. defeated_eikthyr,defeated_gdking. Leave empty to always allow.
ConditionGlobalKeys = 

## Array(separated by,) of biome names that allow the item to drop while they are active.
## Eg. Meadows, Swamp. Leave empty to always allow.
ConditionBiomes = 

## Array (separated by,) of creature states for which the item drop. If empty, allows all.
## Eg. Tamed,Event
ConditionCreatureStates = 

## Array (separated by,) of creature states for which the item will not drop.
## Eg. Tamed,Event
ConditionNotCreatureStates = 

## Array of items (prefab names) that will enable this drop. If empty, allows all.
## Eg. skeleton_bow
ConditionHasItem =

Example

[Draugr.0]
ItemName = Entrails
AmountMin = 1
AmountMax = 1
Chance = 1
OnePerPlayer = false
LevelMultiplier = true
Enabled = true

[Draugr.1]
ItemName = IronScrap
AmountMin = 1
AmountMax = 1
Chance = 1
OnePerPlayer = false
LevelMultiplier = true
Enabled = true

[Deer.5]
ItemName = Coins
AmountMin = 1
AmountMax = 100
Chance = 0.5
OnePerPlayer = false
LevelMultiplier = false
Enabled = true
ConditionMinLevel=1
ConditionMaxLevel=2
ConditionNotDay=false
ConditionNotNight=false
ConditionNotAfternoon=false
ConditionEnvironments=Misty
ConditionGlobalKeys=defeated_bonemass
ConditionBiomes=Blackforest,Meadows

Supplemental

By default, Drop That will load additional configurations from configs with names prefixed with "drop_that.supplemental.".

This allows for adding your own custom templates to Drop That. Eg. "drop_that.supplemental.my_custom_configuration.cfg"

The supplemental configuration expects the same structure as "drop_that.tables.cfg".

Mod specific configuration

Mod-specific configs can be added to each configuration entry as [<EntityPrepfabName>.<DropIndex>.<ModName>] These are implemented soft-dependant, meaning if the mod is not present, the configuration will do nothing.

Epic Loot

Integrates to magic item roll system from Epic Loot. Allows for making items magic. See the mod page for more in-depth description of the magic system.

The items are first given a rarity level, based on the configured options. The roll is done as a weighted distribution, meaning if you gave Magic 100 and Legendary 100, it would be 50% chance to become one of them. If you added Rare as 100, it would be 33% for any of them.


## Weight to use for rolling as a non-magic item.
# Setting type: Single
# Default value: 0
RarityWeightNone = 0

## Weight to use for rolling as rarity 'Magic'
# Setting type: Single
# Default value: 0
RarityWeightMagic = 0

## Weight to use for rolling as rarity 'Rare'
# Setting type: Single
# Default value: 0
RarityWeightRare = 0

## Weight to use for rolling as rarity 'Epic'
# Setting type: Single
# Default value: 0
RarityWeightEpic = 0

## Weight to use for rolling as rarity 'Legendary'
# Setting type: Single
# Default value: 0
RarityWeightLegendary = 0

Example of bonemass set to always drop a pair of epic pants.

[Bonemass.10]
ItemName = ArmorBronzeLegs

[Bonemass.10.EpicLoot]
RarityWeightEpic = 1

Creature Level and Loot Control

Additional conditions for Creature Level and Loot Control. See the mod nexus page for more in-depth documentation for the options.


## Array (separated by ,) of boss affixes, for which item will drop.
ConditionBossAffix =

## Array (separated by ,) of boss affixes, for which item will not drop.
ConditionNotBossAffix =

## Array (separated by ,) of creature infusions, for which item will drop.
ConditionInfusion =

## Array (separated by ,) of creature infusions, for which item will not drop.
ConditionNotInfusion =

## Array (separated by ,) of creature extra effects, for which item will drop.
ConditionExtraEffect =

## Array (separated by ,) of creature extra effects, for which item will not drop.
ConditionNotExtraEffect =

Example for boar which will drop iron scraps only when it has an Infusion.

[Boar.0]
ItemName = IronScrap
Enabled = true
AmountMin = 1
AmountMax = 1
Chance = 1

[Boar.0.CreatureLevelAndLootControl]
ConditionNotInfusion = None

Boss Affixes

  • None
  • Reflective
  • Shielded
  • Mending
  • Summoner
  • Elementalist
  • Enraged
  • Twin

Extra Effects

  • None
  • Aggressive
  • Quick
  • Regenerating
  • Curious
  • Splitting
  • Armored

Infusions

  • None
  • Lightning
  • Fire
  • Frost
  • Poison
  • Chaos
  • Spirit

Field options

Biomes

  • Meadows
  • Swamp
  • Mountain
  • Blackforest
  • Plains
  • AshLands
  • DeepNorth
  • Ocean
  • Mistlands

Environments

  • Clear
  • Twilight_Clear
  • Misty
  • Darklands_dark
  • Heath clear
  • DeepForest Mist
  • GDKing
  • Rain
  • LightRain
  • ThunderStorm
  • Eikthyr
  • GoblinKing
  • nofogts
  • SwampRain
  • Bonemass
  • Snow
  • Twilight_Snow
  • Twilight_SnowStorm
  • SnowStorm
  • Moder
  • Ashrain
  • Crypt
  • SunkenCrypt

Creature state

  • Default
  • Tamed
  • Event

Changelog

  • v1.8.2:
    • Updated support for Epic Loot to v0.7.10. Added world luck factor to loot drops. Magic Items should no longer cause endless drops and error spam.
  • v1.8.1:
    • Fixed endless drop and error spam when Epic Loot was NOT installed.
  • v1.8.0:
    • Added support for Epic Loot.
  • v1.7.0:
    • Added conditions for mod Creature Level and Loot Control.
    • Improved config merging. Supplemental files interacting with same creature will now merge in item configs from each.
    • Rewrote internal configuration management to support soft-dependant, mod-specific configurations.
  • v1.6.2:
    • Fixed option AlwaysAppend being ignored.
    • Fixed drops with no configuration being discarded
  • v1.6.1:
    • Fixed empty ConditionHasItem not being considered "all allowed".
  • v1.6.0:
    • Added output file for creature items.
    • Added conditions for creature items (eg. skeleton_bow)
    • Added conditions for creature states (eg. tamed, event)
  • v1.5.0:
    • Adding option in drop_that.cfg to generate a file containing all default drop table items. Long missing feature, I know.
  • v1.4.0:
    • Server-to-client config synchronization added.
    • Removed option "LoadDropTableConfigsOnWorldStart". This will be done by default now (including the general config).
  • v1.3.3:
    • Fixed quality being set to 3 by mistake. Leftover from discarded feature, ups!
    • Fixed readme example.
  • v1.3.0:
    • Fixed lie about drop table configurations reloading on world start. It should work properly now!
    • Added support for setting drop conditions on each item
    • Added support for selecting whether to apply conditions at time of spawn or death.
  • v1.2.0:
    • Port and rewrite of configuration system from Custom Raids
    • Now supports loading of templates
    • Additional general configuration options
    • Now supports reloading of drop table configurations when reloading world. This means you can avoid having to completely restart the game if you only change the loot configs.