Oblivion

File information

Last updated

Original upload

Created by

Tekuromoto

Uploaded by

Tekuromoto

Virus scan

Safe to use

About this mod

Randomizes the cell respawn timer based on a user-definable range.

Permissions and credits
Mirrors
Less Predictable Respawn Readme
v1.1

by Tekuromoto

Don't miss my other mods!

SEE THE README IN THE DOWNLOAD FOR FULL INSTRUCTIONS, CREDITS, ETC.


------------
Introduction
------------

Tired of heading back from a dungeon crawl knowing the road is safe because you killed all the bandits only a day or two ago? Tired of seeing dead bandits cluttering the road for days and days? Do you wish the way back to the surface from three levels down in an Ayleid ruin could be a little more challenging, or at least unpredictable? Do you want a little more uncertainty about what is around the next bend? Do you want a less predictable respawn?

This little mod aims to address this by randomizing the cell respawn timer - within a user-definable range - every time a new cell is entered.

------------
Requirements
------------

Oblivion Script Extender. Get the latest version here.
You MUST have OBSE for this mod to work. You also MUST be some kind of Luddite if you refuse to use OBSE. :)

Less Predictable Respawn was developed with Oblivion 1.2.0416, OBSE v16, and over 200 mods of all sorts installed (Fran's, MMM, COBL, body replacers, Natural Environments, Better Cities, Unique Landscapes, quests, you name it). I haven't tested it with Shivering Isles or any DLCs (because I don't have them), but it _should_ work just fine with any setup.

------------
How It Works
------------

In order to understand what the mod will and will not do, it's important to understand how the Oblivion engine respawns (or resets) cells.

First off, what do I mean by "respawn"? Well, don't think of it in a Diablo-esque sense. You cannot respawn monsters in the area for a hack-and-slash style horde of monsters that continually come at you from off screen. In Oblivion, every cell contains data about what's in it: NPCs and monsters, items (both placed by the designers and dropped by actors including the player), havoked items (like books and dishes), plants, food, and containers. When a cell is respawned, a number of things happen:
- dead actors (and their inventories) are removed
- new actors are "spawned" if there are any spawn points in the cell
- havoked items that are still in the cell are returned to their original positions (books onto shelves, dishes onto tables, whatever)
- food that was initially in the cell (not dropped there by an actor) is replenished (this is a special case, and seems to have to do with NPCs being able to eat via the AI packages; other non-edible ingredients that have been removed do not replenish)
- items that were left in the cell are removed
- plants have their ingredients replenished so they are harvestable again
- containers that are not marked as "non-respawning" (ie, most containers other than those in player houses) have all their contents removed and discarded, and new contents are generated.

Everytime you enter a new cell, whether it's a shop, a dungeon, or a "cell" in the wilderness, that cell gets a timestamp indicating when it was last visited. The _next_ time you enter that cell, the timestamp is compared with the respawn timer and if enough time has elapsed then the cell is reset. This has a number of ramifications:
1) A cell that is visited fairly frequently, say once every couple of days, will _never respawn_ with the default timer of 3 days.
2) A cell that is visited only once in the game still has all of it's data stored in the savegame file; it does not get reset (and garbage cleaned up, etc) until it is visited again.
3) The length of the respawn timer should not affect savegame size; only the number of cells visited (in addition to quest variables and all that) affects the amount of data in the savegame.
4) An inordinately long respawn timer (that never changes) will have the effect of making the world seem less dynamic, especially in cities and dungeons (see point 1).

This means that every cell you enter is checked against the _current_ respawn timer value. So what this mod does is randomizes the respawn timer. Say it's been randomized to 36. If you've been away from this cell for more than 36 hours, it'll reset, and the timestamp set to the current time.. At that time (when you've entered your new cell) a new value is rolled; let's say it's 62. The _next_ cell you enter is checked against the _new current_ respawn timer of 62 hours. Again, if you've been away from this cell for more than 62 hours, it'll reset and the timestamp gets reset and all that... BUT! If you haven't been away from the cell long enough for it to get respawned, the timestamp STILL gets set to the current time. Hence the problem with revisiting a cell over and over within the respawn time limit: it'll never respawn.

What this mod doesn't do is spawn new types of monsters, or affect the contents of non-respawning containers (such as in your house), or distribute new spawn points around the world (in an OOO/MMM overhaul type of sense), or allow you to have certain types of cells respawn on a different schedule than the rest of the world.

-------------
Customization
-------------

By default, LPR sets the minimum respawn time to 24 hours and the maximum to 72 hours. This is similar to the default Oblivion respawn time of 3 days. Included with the mod is a configuration file that allows you to tweak the mod to your liking.

Simply open "DS Less Predictable Respawn.ini" (found in your Oblivion\data\ directory) in Notepad or something similar. The three settings you can change are:
TimerMin: sets the low-end of the random respawn timer range.
TimerMax: likewise, sets the high end.
Debug: Toggles displaying debug messages in the console window.

You can set the Timer values to anything you like, really, so long as Min is at least 1 and Max is more than Min. My personal configuration is for a 6 hour min and a 120 hour (5 day) max.

Also, if for any reason during the course of play you need to turn off the randomization of the respawn timer, open the console (usually the ~ key) and enter:

set DSLPR.Disable to 1

This will set the respawn timer to the maximum value you specified in the .ini file (default 72). If you want to randomize the timer again with each cell change, set the Disable flag back to the default of 0 by repeating the above command with "0" instead of "1".

---------
Changelog
---------

v1.1 - Improved, hopefully final release, 25 Mar 09.
- The changes to the respawn timer weren't being saved in the save game, resulting in a 72-hour respawn timer being used for the next cell visited after loading a game; this has been fixed.
- Added the option the disable randomization without having to remove the mod.
- Expanded the readme to explain more about how Oblivion's respawn system works and what exactly the mod does.
v1.0 - Initial release, 24 Mar 09