Version: v1.beta3
Date: 2010-07
Category: Magic - Gameplay
Author: JRoush
Source: http://www.tesnexus.com/downloads/file.php?id=31981
Previous Version Thread: http://www.gamesas.com/index.php?/topic/1103676-relz-oblivion-magic-extender-v1beta2/
Contact: jroush.tesmods@gmail.com
Requirements:
=============
NOTE: using OBME with the wrong verison of Oblivion or the CS will, *at best*, cause it to crash.
- Oblivion v1.2.0416
- TESCS v1.2.404 (only if you are planning to make mods using OBME)
- OBSE v0018 or higher
- AddActorValues, a small auxiliary plugin that is bundled with OBME
Description:
============
OBME extends the Oblivion magic system to make it more general and open to mod makers. In a nutshell, it is a pair of plugin libraries for OBSE that hack the game/CS code to change it's behavior. Note that this is the same principle behind OBSE itself - it's quite safe, and will not alter Oblivion.exe or TESConstructionSet.exe in any way. In this version, the key features are:
- More control in editing Magic Effects in the CS, and the ability to create new magic effects, both in the CS and in-game from scripts
- Support for 'dynamic' effect codes that are (almost) automatically managed by OBME.
- Expanded ModifyActorValue handler to allow custom AV ranges, and to specify exactly what part/modifier is affected.
- Expanded SummonActor effect handler to allow custom summoning limits
- Expanded ScriptEffect handler to allow useable magnitudes, and scripts specified for an entire EffectSetting rather than each individual effect item.
- Expanded Dispel effect handler to allow partial dispelling of effects, and to selectively target effects based on their effect code, effect handler, hostility, and the type of magic item that applied them.
- "Reclaiming" of some of the lost magicka when an effect is removed by recasting its spell, or when a summoning limit is broken.
- Expansion of 'extra' data for EffectItems - *any* effect item (not just script effects) may now have a custom name, school, VFXcode, hostility, *icon*, base cost, resistance AV, and a number of other flags.
For more info, please see the accompanying document 'OBME Features.pdf'. This file has background information and technical details. For examples of how to actually use OBME, see the accompanying "OBME_*_example" mods.
IMPORTANT NOTES:
======================
- OBME has been assigned an official opcode base for its new script functions. Any scripts using 'CreateMgef' and 'ResolveMgefCode' from v1.beta2 will *need to be recompiled* in order to work correctly. This should be the last time this is necessary when upgrading.
- The formats for the ScriptEffect and ModActorValue handlers have changed slightly. Please double check any mods that add or alter effects with these handlers to make sure they are up tp date.
- The following v0018 OBSE script functions will not work with dynamic effect codes: GetMagicEffectCounters, GetNthEffectItemScriptVisualEffect, and GetActiveEffectCodes. This will change with the release of obse v0019.
- OBME v1.beta3 does not include script functions for manipulating the Effect item override fields for School, VFXCode, and the individual flag fields like "Effects removed". These functions will be added in a future release.
- Because this is a beta version, I have left the debugging output on. This means that long sessions in the game or CS will generate rather large log files.
Additional Details:
=============
Questions & Bug Reports:
========================
If you have a question, *look in the included 'Features' pdf*. It has a table of contents; you don't have to read the whole thing to find what you're looking for. If your question isn't answered there, I would be more than glad to answer it on the forum thread.
If you encounter problem, something that is confusing or doesn't seem to work as expected, *please* *please* *please* do the following:
1. Read the readme carefully. Often I've addressed the problem already, or at least included a warning.
2. Reproduce the problem. If it's a crash, restart the game or CS and try to make it crash again.
3. Narrow down the cause. Try to figure out the circumstances that lead to the problem. Specific bug reports are easy to fix, while bug reports like "the game crashed after I installed OBME" are just a waste of my time.
4. Send me a private message on TESNexus or the Forum. Include the details, and attach the log files "OBME.log" and "OBME_CS.log", which can be found in your "Oblivion\" folder.
Installation & Uninstallation:
====================
Please see the included 'Readme' file.
Compatibility with other mods:
==============================
OBME doesn't add any actual content to the game, so there is no chance of conflicts with any traditional mods. In addition, OBME-enabled mods are designed to be useable by everyone, even players without OBME (although they will obviously be unable to use any added magic effects). Because this is a beta-version, however, it is STRONGLY RECOMMENDED that you not distribute mods based on OBME until further notice.
OBME is known to be incompatible with Custom Spell Icons (CSI), because both attempt to patch the same game code. Using both OBME and CSI will result in CTD.
Compatibility with other Editing programs (TES4Edit, WryeBash, etc):
====================================================================
OBME alters the format of the *.esp and *.esm files by adding new chunk types to the EffectSetting record (MGEF) and various magic item records (SPEL,ENCH,INGR,ALCH,SGST). At the moment, this means that mod files *with new OBME features* are not compatible with TES4Edit. It can load files that don't contain new magic effects or effect item override fields just fine. No other 3rd party mod editors have been tested - if you're curious, please try it yourself and let me know.
=== v1.beta3 2010/07 ===
- Implemented assigned opcode base for new script functions: 0x2600
- Identified the uses of two of the 'misc' magic effect flags: 'Persist On Death', and 'Explodes with Force'
- Expanded size and functionality of effect item 'overrides' object. EfixParam and EfitParam are no longer forced to same value.
- Replaced 'Effect Item' dialog in the CS with an improved version.
- Altered format of the ScriptEffect handler - eliminated 'UseEfitScipt' flag & made EfitParam a 'user parameter' that is generally ignored by OBME. If non-zero, efixParam is used as script formID; otherwise mgefParamA is used.
- Implemented EffectItem overrides to hostility, effect name, school, base cost, icon, vfx code, resistance AV, persist-on-death, and handler-specific params (including the 'recovers' flags for some handlers).
- Altered save format for magic items: additional override parameters for EffectItems now saved in EFII and EFIX chunks
- OBME is now compatible with AddActorValues. ResistanceAVs and the avs modified by the ModActorValue handler may now be mod-added token items.
- Altered format of ModifyActorValue effect handler. The param fields are now a range of actor values. An additional field determines which part (base/max/offset/damage) of the actor value to modify. An additional flag reproduces the special treatement for Ability effects.
- Altered save format for ActiveEffects to store more specific conversion info. The (remote) possibility that new magic effects could corrupt save files should now be gone completely.
- Added script functions GetMagicEffectHandler,SetMagicEffectHandler to manipulate handlers on magic effects
- Added script functions GetMagicEffectHostility,SetMagicEffectHostility to manipulate new 3-state hostility of magic effects
- Added new script functions to manipulate 'override' fields of effect items: (Get/Set/Clear)NthEIEffectName,(Get/Set/Clear)NthEIIconPath, (Get/Set/Clear)NthEIHostility,(Get/Set/Clear)NthEIBaseCost,(Get/Set/Clear)NthEIResistAV. Not yet added: similar functions for VFXCode,School,Handler-specifc params like script/AV, and individual flags.
- Where appropriate, vanilla magic effects may now have the 'Beneficial' hostility state
Credits
=======
- Bethesda Softworks, whose game has svcked up far, far too much of my free time
- The OBSE team for their incredible modding resource.
- scruggsywuggsy the ferret, for answering even my dumbest questions promptly and with admirable patience.
- everyone on the TESNexus and Bethesda forums who took an active interest in the first beta - your enthusiasm make the project much easier to handle.
- statttis, for doing the extensive legwork necessary to implement effectitem icon overrides. All I had to do was copy+paste from his source.
Tools Used
==========
- Oblivion Script Extender (OBSE): http://obse.silverlock.org
- TES4Edit: http://www.tesnexus.com/downloads/file.php?id=11536
- TES Construction Set: http://www.tesnexus.com/downloads/file.php?id=11367
- Microsoft Visual Studio 2008: find a download yourself

- IDA Pro v4.9: http://www.datarescue.com/idabase/ida.htm