0 of 0

File information

Last updated

Original upload

Created by

mym

Uploaded by

mym

Virus scan

Safe to use

About this mod

Fresh Loot dynamically improves random weapons, armors and clothing, by altering their properties or adding enchantments.
Loots get more exciting and enemies more challenging.

Requirements
Permissions and credits
Changelogs
Fresh Loot (OpenMW)

OpenMW 0.49 is required!

Fresh Loot dynamically improves random weapons, armors and clothing, by altering their properties or adding enchantments.
Loots get more exciting and enemies more challenging.

In the spirit of Diablo 2, items are improved and get a prefix and/or a suffix name, giving a hint on what's been changed.
I took a large inspiration from Merlord's DRIP mod, mostly on the amazing item modifier collection he created.

Features

  • Loot is dynamically generated and different for each new playthrough
  • New items can be found in containers or on NPCs and creatures
  • Enemies get a chance to use the new items when fighting you
  • Supported item types are armors, clothing and weapons
  • New items are created from existing items, by adding modifiers that alter their properties or add enchantments
  • Only non-magic and non-scripted items that appear in levelled lists can be converted
  • Supports over 3500 item types and 65.000 modifiers and combos applied to those items
  • Some modifiers offer a mix of advantages and disadvantages, while being useful
  • Loot (modifiers) quality is based of the difficulty to get it
  • Actors' loot quality is based their level
  • Containers' loot quality is based on:
    • Actors around (number, level, hostility, alarm level, proximity, AI movement, visibility of the loot...)
    • Container protections (locked, trapped, immersed)
    • Access protections (locked and/or trapped doors)
    • Ownerships (owner's level, faction rank)
  • Chance to find Fresh Loot items also depends on the challenge to get the loot
  • Special care has been taken to offer useful but not overpowered items
  • Low quality items can get powerful modifiers if they are protected by high level actors
  • New items created with only property modifiers can then be manually enchanted to become even more powerful
  • Actors' wealth (inventory and owned containers value) is taken into account to limit the loot quantity and quality they get
  • Natively works with many items added by Morrowind, Tribunal, Bloodmoon, OAAB Data, Tamriel Data and any addon using those items
  • Builtin support for multiple beast armor mods, "Weapons Expansion Morrowind", "Killing Spree Helluva", 8 Ruffin Vangarr's mods, "Vanilla Friendly Wearables Expansion"
  • Many settings to fit the mod to your needs (midgame changes are taken into account)
  • Supports changes in your load order

What It Does

Fresh Loot only considers items found in containers or equipped by NPCs and creatures, and only if the items are non-magic, non-scripted, and if they appear or can appear in levelled lists.

The first time a container is opened by a player, each item gets a small chance to be converted by Fresh Loot.
Organic, respawning, scripted, and merchants' containers are excluded.

Also, when the player accesses a new area (Morrowind cell), items equipped by NPCs or creatures get a chance to be converted (customizable).

Guards, slaves and merchants never get their inventory items converted.
A few constant enchantment modifiers have been excluded from equipped items (e.g. levitate), and passive actors will not get visible constant effects (elemental shield, chameleon...).

There are two kinds of modifiers, on properties and with enchantments, and up to two modifiers can be applied to an item.

End Game Difficulty Setting

Fresh Loot distributes items and set their quality based on a global setting, "End Game Loot Level", that defines when you should get the best of Fresh Loot.
As the loot level (cf. Loot Difficulty Levels) is mostly defined by the level of actors protecting it, the idea is to set a value around the highest levels of enemies you'll encounter during your playthrough.

Modifiers

Property Modifiers

Modifiers can change the base properties of items, like weapons damage/speed/reach, armor rating, weight, and condition.
Depending on the modifier, changes are either added to the base value (e.g. +5 max chop damage) or multiplied with the base value (e.g. weight x0.7).

Property modifiers don't create a magic item: It can still be enchanted by the player.

It’s currently not possible to display property modifiers info in the items tooltip, because of the current limitations of OpenMW 0.49 Lua API.
However, Fresh Loot provides a window with information on modifiers (hotkey customizable).

Enchantment Modifiers

Modifiers can add an enchantment to items, like the player would do, except that Fresh Loot is not constrained by the enchantment capacity or the effects cost, allowing a wider range of possibilities.

Item Name and Value

Each modifier changes the item’s name by adding either a prefix or a suffix.

An item can get one or two modifiers: A prefix, a suffix, or both.

Examples:

  • Astral Common Ring (adds constant Chameleon effect)
  • Blazing Chitin Dagger of Swiftness (adds fire damage, and increases attack speed)
  • Superior Dreugh Shield of the Scout (increases armor rating, and increases Athletics and Medium Armor skills)

Each modifier also increases the base value of the item, the added price depends on the modifier type and level.

This modifier value is used with actors' estimated wealth to limit the quantity and quality of improved items they get (cf. section below).

Combinations

Not all modifiers are applied to all items (e.g. no increased damage on armors, no fortify medium armor on heavy armors, no mix of constant and cast on use effects...).

Even with such constraints, Fresh Loot offers tens of thousands of modifier combinations, potentially applied to thousands of item types.

Modifiers Chance

Every considered item has a chance to be added a first modifier (5% by default).

That chance is boosted (customizable) by the loot difficulty level (cf. below) and the "End Game Loot Level" setting:
The higher the challenge to get the loot, the higher the chance to get Fresh Loot items.

For actors, if their equipped weapon is not converted, it gets another chance (customizable) to spice up the fights.
If the weapon is converted with that second chance, it'll get modifiers of a lower quality (customizable) to prevent the player from getting too many high quality weapons.

Then, the item gets a chance to be added a second modifier (25% by default).
That second modifier chance is also boosted by the loot difficulty level, but at a lower magnitude (customizable).

For each picked modifier, a setting controls the chance for modifiers to be a property or an enchantment modifier (20% property modifiers by default).

Modifiers Level

Each modifier has up to 5 different levels, from weak to strong (e.g. +2 max chop damage, +5, +10, +15, +20).

When converting an item, Fresh Loot selects a modifier level based on the difficulty to get the item from the loot (the container or the actor's inventory).

The higher the loot difficulty, the better the chances to get a higher modifier level.

Loot Difficulty Levels

Actor Inventory Difficulty Level

For NPCs and creatures’ inventories, the loot difficulty is their level.

For creatures, the loot level uses a boosted creature level, increasing the level towards the "End Game Loot Level" setting, as creatures generally have a smaller level range than NPCs.

Containers Difficulty Level

If there are enemies around the container, or if the container is owned, the difficulty level takes into account:

  • their level
  • their number
  • their hostility
  • their alarm level
  • their distance to the container
  • whether they see the container (or its surroundings) or not
  • whether they move around the container or stay still

For creatures around the container, the loot level also uses a boosted creature level, as described in the previous section.
For passive actors, the actor level is reduced (75% of base value by default) as it's easier to access containers owned by passive actors (sneak).

If the container is owned by a faction, the difficulty level is evaluated to the average level of members of that faction being at that rank.

If there are no actors around, the container won't be processed by Fresh Loot, because there is no obvious way to estimate its access difficulty.

Then, the loot level will be improved (customizable) if:

  • It's locked: The higher the lock, the greater the boost
  • It's trapped: The higher the trap harmfulness (based on its spell cost), the greater the boost
  • It's underwater: The greater the depth, the greater the boost
  • It's blocked by locked or trapped doors

Level Scaling

The loot level can be scaled (customizable) on the player level in order to:

  • Prevent getting OP modifiers too early (e.g. while sneaking around powerful actors’ containers)
  • Access to better modifiers in late game

The scaled loot level value is the average of the base loot level and the player level, weighted by the setting "Player Level Scaling Percent".
For example, with a setting value of 70, the resulting level will be: lootLevel x 0.3 + playerLevel x 0.7

Each time the player levels up, actors' equipments are refreshed (on next encounter) with potentially better items.

Level boosts described above are applied after the scaling.

This setting is disabled by default because I think that Fresh Loot's mechanics and Morrowind levelled lists are enough to naturally scale the loot levels.

Picking a Modifier Level

Once the loot difficulty level is estimated, ranging from one to the highest levels of actors, Fresh Loot converts that level range to the modifier levels range (1-5).
To do the conversion, Fresh Loot scales the loot level on the "End Game Loot Level" setting to get the modifier level range.

For example, with a setting of 50, here are some conversions:

  • Loot level 1 -> modifier level 1
  • Loot level 6 -> modifier level 1.5
  • Loot level 12 -> modifier level 2
  • Loot level 50 -> modifier level 5

Then, the final modifier level is picked randomly around that value, with a greater chance to be close to the value, but still getting a few chances to be better or worse.

Actor's Modifiers Wealth Limit

In addition to the configured chance to convert items, actors’ wealth also limits the quantity of affected items.
Wealth is evaluated to the sum of the actor's item values, including items in containers he owns.

Then, each time an item owned by that actor is converted, the modifier value is added to the actor’s total expenses, up to a customizable percent of his total wealth.

Actors cannot get more modifiers than that percent (25% of actors' wealth by default). The goal is to prevent poor actors from getting expensive improved items.

Balance

Fresh Loot makes the game easier. It's a first, for a mod of mine.

To balance your game, you can use other mods that can increase the difficulty, like:


Differences with DRIP

I never played Merlord’s mod (I don't have Windows), but as I understand here are the main differences.

Items types

DRIP only allows the conversion of items in levelled lists, while Fresh Loot also allows:

  • Items not generated by levelled lists, but only if they are in levelled lists elsewhere
  • Actors' equipped items, to improve fights and interactions in general

Both categories can be disabled in the settings page.

DRIP adds new effects, like Self-Repair, while it's not possible with the Lua API in OpenMW 0.49.
Such effects could be done with scripts attached to items, but the resulting items would not be magic and could be enchanted with more effects, which would be OP.

Modifier level

DRIP scales the modifier level according to the enchantment capacity of converted items,
while Fresh Loot evaluates the difficulty to get the item in order to decide how powerful the modifiers should be.

Implications with Fresh Loot:

  • You'll get better loot with higher level enemies or with containers protected by higher level or more numerous actors
  • You'll get better loot in locked, trapped or immersed containers
  • You won't get powerful modifiers on easy to access high quality items (e.g. known Daedric items in unguarded locations)
  • You can get a basic item (e.g. Chitin Shortsword) with powerful modifiers if it's protected by powerful enemies

Of course this is only true if Fresh Loot correctly evaluates the loot access difficulty.

Modifier values scaling

As OpenMW don't yet allow the dynamic generation of enchantments, Fresh Loot use pre-generated enchantments, with up to 5 versions of each modifier, while DRIP scales the modifier power on the enchantment capacity, leading to a greater diversity of magnitudes and durations. This feels like a limitation, but Fresh Loot has the advantage of offering hand defined values for each modifier level.

Modifier collection

Fresh Loot took a large inspiration from DRIP modifiers (diversity, magnitudes, durations, English names), but I adjusted many values to match my vision of balance.
Also, I added multiple new modifiers, some of them bring both positive and negative effects, while being useful in some situations.

Revert Changes in a Loot

If a container or an actor (NPC or creature) got some of its items converted, but you'd like to restore the original items, please proceed as follows:

  • Press ` to bring down the console
  • Click on the container or actor in question to select it (its ID should appear in the console's title)
  • Type luas and press enter (its ID should also appear in the console's title as lua[loot id])
  • Type I.FreshLoot.revertLoot() and press enter, you should see a message saying some items have been restored
  • Type exit() and press enter, to exit the lua mode, and be able to do the procedure on another loot
  • Press ` to hide the console

You can also do it on the player's inventory, by typing luap instead of luas, the player is automatically selected.

Load Order

Load order should not matter.

Compatibility

OpenMW 0.49 is required!

Mods that access containers or inventory may be incompatible.
As Fresh Loot replaces contained items, other mods may get items before or after the conversion, depending on the timing.
Also, Fresh Loot learns new levelled items by comparing the container content before and after it's resolved with levelled items, but if another mod resolves the container before Fresh Loot, there is no more learning.

Explicitly compatible mods:


Check the next section for ways to solve incompatibility issues.

Extensions

Modders who want to add convertible items that are not supported by Fresh Loot, can create a Lua patch file in the VFS directory of their patch: scripts/fresh-loot/item-lists/

  • The filename shall start with ids- and end with .lua and the string in between will be the key of the added list.
  • The key shall be different from builtin ones.
  • The script shall return an array of item ids, all lowercase.

Check builtin files in that directory as examples.

To ensure your patch is loaded:

  • Go to the settings page and check if your list key is included in setting "Loaded Item Lists" value.
  • Enable log messages and search for your key in the logs, you should see how many item ids are loaded.

Modders can also add exclusions for actors or containers using the VFS directory: scripts/fresh-loot/exclusions/
Principle is similar, Lua files shall match exclude-listName.lua and return one or 2 lists among: actorIds and containerIds (lowercase IDs).

Mods accessing the content of containers or inventories can use a global interface function to trigger the conversion of contained items:

I.FreshLoot.processLoot(loot, actor)

Where loot is a container or an actor, and actor is the one who want to access the loot.

Installation

  • Decompress the mod archive in a folder named fresh-loot
  • In openmw.cfg
    • Add the full path to the fresh-loot/00 Core directory as a data path
    • Add fresh-loot.omwscripts and fresh-loot.omwaddon as content files

For example:

data="C:\games\OpenMWMods\ObjectsClutter\fresh-loot\00 Core"
content=fresh-loot.omwscripts
content=fresh-loot.omwaddon


More info on how to install OpenMW mods here.

Update the Mod

Updates should be fine, except if the modifier collection is updated or the data saved in game saves is deeply changed (like with v2.0).

Midgame Installation

Fresh Loot can be installed midgame, but as it doesn't know which containers have already been opened, you may get converted items the next time you open previously opened containers.
It can happen only once per container, and typically with your owned containers (player's home...).
If it happens, you can use the loot revert procedure as described above.

Uninstallation

If you remove the mod midgame, all converted items will lose their enchantments and OpenMW will complain.

To prevent breaking you game you can either:

  • Disable the mod from the setting page, which will revert all converted items as soon as you resume the game, then your can remove the mod, or
  • Remove or uncheck the omwscripts file, while keeping the omwaddon one, which will preserve your items and stop converting new ones.

Credits

  • Merlord for creating the mod DRIP, which largely inspired my mod
  • Cybvep for helping on modifiers balance, and for providing some compromise modifiers
  • Illest503, matthewfarmery, and pwn for helping on the tests
  • OpenMW team for their great game engine and for adding so useful Lua bindings
  • Modding-OpenMW for their huge contribution to Morrowind
  • Nexus for hosting most Morrowind mods
  • Bethesda for creating Morrowind

Localization

EN: @mym

Repository

This is an open source project, check the repository.

Feel free to report issues or suggestions.

Author

@mym