Skyrim

File information

Last updated

Original upload

Created by

T3nd0

Uploaded by

T3nd0

Virus scan

Safe to use

About this mod

Randomizes Encounter Zone minimum levels. Use randomness to beat routine and boredom!

Permissions and credits
Donations
Hey people,
for all intents and purposes, consider this mod, and all my other mods, "done". 
If you want a tiny bit more to read, take this.
Goodbye and have fun
-T3nd0
____________________________________




WTF
Where did These strong enemies suddenly come From?

- Encounter zone level randomizer -





_ _ _ _ __________________________ _ _ _ _



0. Intro

When I start a new char, I usually go for a quick trip to Riverwood, selling Helgen loot. I then plunder Embershard Mine, since it's near and has a useful supply of Iron, as well as the occasional low-level enchanted item.

Once that is done, I go straight for the golden claw and the Dragonstone, before heading to....

Derp derp derp derp ROUTINE!

This mod replaces routine with randomness. What if those Embershard bandits were suddenly strong enough to melt your face off? You'd have to run for your life and search for opportunities to train, to one day come back and deliver a payback.

>>> What it can do

WTF assigns random minimum levels to all encounter zones; either fully random or chance-based, using a formula I'll describe later. Run the patcher, start new game, don't know what to expect.

>>> Useful/needed links

Link to Java: http://www.oracle.com/technetwork/java/javase/downloads/index.html

Highly recommened for XML editing: http://www.notepad-plus-plus.org

Good for pasting logs and XML: http://pastebin.com/

>>> Content

0. Intro
1. Installation & Removal
2. Usage
3. Configuration and Inner Workings
4. Troubleshooting
5. Thanks and Credits


_ _ _ _ __________________________ _ _ _ _



1. Installation & Removal

First of all, install an up-to-date JRE if you don't have it yet. Link is posted above.

Drop all the files included in the main download to Skyrim/Data. This should lead to the folder Data/SkyProc Patchers/T3nd0_WTF being created.

To remove the patcher later, just remove said folder. To remove its tweaks, remove WTF.esp from your load order.

This mod is compatible with everything, including all mods/DLC that add encounter zones.

_ _ _ _ __________________________ _ _ _ _



2. Usage

Run WTF.jar, close it, then activate WTF.esp. For tweaking, see section 3.

If running the jar won't work as expected, see section 4.

_ _ _ _ __________________________ _ _ _ _



3. Configuration and Inner Workings

WTF.jar has three checkboxes that influence the behaviour; both are checked by default.

  • Use Overrides: When activated, uses overrides defined in Stats.xml. If not, randomizes all zones.
  • Use Formula: When activated, uses variables from Stats.xml for semi-random distribution of minimum levels. If not, goes fully random for any included zone, between level 1 and 50;
  • Display results: Check out what WTF did directly after running the patcher.
  • Export results: Generate a Stats.xml in "WTF_Output" that contains the results of the patch. Can be used to share and store a setup if overrides are enabled.


To configure the variable values used in formula-based distribution, and to define overrides, open Stats.xml. It is located within the WTF folder, which in turn is right next to WTF.jar.

First, lets talk about overrides. This is the XML:



As you might have guessed, it prevents you from get slaughtered in Helgen right away, by forcing its level to anything between 4 and 12. To calculate the borders, use iLevel as a base, and substract/add iMaximumDeviation as percentage for the lower/upper border.

So, here we get:
Lower border: 8 - (0.5*8) = 8-4 = 4
Upper border: 8 + (0.5*8) = 8+4 = 12

To add more forced zones, add encounterzone_override elements within the encounterzone_overrides (that serves as container).

That was simple. Now to the formula. See this order of variables:

MINIMUM_LEVEL <---< BASE_LOWER <---< BASE_UPPER <---< MAXIMUM_LEVEL

Each of these variables contains a value that describes a certain "milestone". MINIMUM_LEVEL is the minimum level assigned to any zone, MAXIMUM_LEVEL is the maximum level a zone can get assigned to.

BASE_LOWER and BASE_UPPER are variables whose only purpose it is to split the gap between minimum and maximum level in sections.

So, we have three level sections now:

Section one: MINIMUM_LEVEL - BASE_LOWER
Section two: BASE_LOWER - BASE_UPPER
Section three: BASE_UPPER - MAXIMUM_LEVEL

When doing formula-based patching, each encounter zone is randomly assigned a section, then randomly assigned a level within that section.

Now you know enough to check out the variable definitions from the XML:



In this config, section 1 ranges from level 3 to 20, section two from 20 to 40, and section 3 from 40 to 80 (borders are shared between sections).

There are three more variables in there you should understand.

  • CHANCE_BELOW_BASE: Chance for each encounter zone to get assiged to section 1.
  • CHANCE_BASE: Chance for each encounter zone to get assiged to section 2.
  • CHANCE_ABOVE_BASE: Chance for each encounter zone to get assiged to section 3.


These chances are weighted. That means they are not to be taken as percent-values. What matters is each chance's relatve value, compared to the other chances.

With

CHANCE_BELOW_BASE: 100
CHANCE_BASE: 25
CHANCE_ABOVE_BASE: 25

section 1 would contain roughly twice as many zones as 2 and 3 combined; with

CHANCE_BELOW_BASE: 100
CHANCE_BASE: 10000
CHANCE_ABOVE_BASE: 10000

section 1 would likely be empty due to typecasts.


Combine chances and "milestones" to completely overthrow Skyrim within minutes!


_ _ _ _ __________________________ _ _ _ _



4. Troubleshooting

I'll be lazy and redirect you to Leviathan's Automatic Variants troubleshooting section: http://afterimagemetal.com/AutoVar/Automatic%20Variants%20Readme.html#troubleshooting

SkyProc mods share common issues.


_ _ _ _ __________________________ _ _ _ _



5. Thanks and Credits

Thanks to Leviathan for being a wizard, and for keeping up with my constant reports and requests. ;)

Thanks to Intel for including bearable on-board graphics, even on desktop processors.

Thanks to me for spending more time on this description than on the actual coding.

Thanks to Ka3m0n for doing the code images.