About this mod
OBSE framework for swapping base objects and references, using config files.
- Requirements
- Permissions and credits
- Changelogs
- Donations
(ported from Fallout: New Vegas)
For example configs and various mod integrations check out Base Object Swapper Integrations!
Requirements
xOBSE
Description (copied from Base Object Swapper NV with minor changes)
OBSE utility plugin that allows mod authors to swap base objects with others, using config files.
This is a port of Base Object Swapper from Skyrim Special Edition.
With this mod, you could...
- assign different model variants to misc objects at random
- replace overused statics with unique variants
and more!
How To Use
Distributed records should be written to an ini file in Data/BaseObjectSwapper folder (for example, Data/BaseObjectSwapper/MyMod.ini).
They should follow this general format:
[Forms]
origBaseID|swapBaseID|transformOverrides|chance
origBaseID|swapBaseID,swapBase2ID,swapBase3ID|transformOverrides|chance
[References]
origRefID|swapBaseID|transformOverrides|chance
[Forms|CellFormID,KeywordString,RegionFormID]
origBaseID|swapBaseID|transformOverrides|chance
ID MUST be the object's FormID! The EditorID capabilities require functionality that xOBSE does not currently have
ObjectFormID~ModName.esp
origBase is the base object you're trying to replace (eg. a coffee pot).
origRef is the specific object reference you're trying to replace (eg. a specific coffee pot in Hoover Dam).
swapBase is the replacement object you're replacing it with (eg. a coffee pot with a new model).
Locational replacements
- Location based form swaps
- Requires cell or region editorID
;this swaps all UpperClassRugRectangle01 static objects inside the Tiber Septim Hotel with Potatoes
[Forms|0x2AEEA~Oblivion.esm]
0x1C649~Oblivion.esm|0x3368C~Oblivion.esm
Transform Overrides
- Change the position, rotation and scale of swapped objects
- pos - position
- rot - rotation
- scale - scale
- units must be in floats (20.0)
- (NEW) disable - sets the object to initially disabled (but ONLY if the reference is NOT persistent and does NOT have a EnableStateParent flag. This is to prevent crashes)
- A/R suffixes for setting relative vs absolute transform. For position/rotation
- posR(1.0,5.0,100.0) will set new position relative to reference base position
- posA(300.0,100.0,200.0) will override reference base position
- scale is multiplicative.
- scale randomization is possible
- eg. scale(1.0/2.0) will scale references between 1.0 and 2.0 units
- Leave as NONE if you don't want transform overrides
;swaps Gold misc items to Varla Stones with relative position + random Z position of 50 to 100, and random scale between 1.0 and 1.50.
[Forms]
0xF~Oblivion.esm|0x194~Oblivion.esm|posR(10.0,5.0,50.0/100.0),scale(1.0/1.50)
- It is also possible to directly set a transform override without swapping objects. Requires [Transforms] section
[Transforms]
origBaseID|transformOverrides|chance
origRefID|transformOverrides|chance
[Transforms|CellFormID,KeywordString,RegionFormID]
origBaseID|transformOverrides|chance
- Affects swapped objects
[Transforms]
0x17872~Oblivion.esm|rotR(-90,0,0),scale(2.0) ;ICPalaceTower01
Chance
- Randomly swap between multiple swap objects/percentage chance to not swap at all
- chance (0 - 100)
- Default is 100
- S/R suffixes
- chanceS(50) - fixed random chance (persists across game sessions; object refs will be always swapped or not)
- chanceR(50) - chance is rerolled on each new game session (object ref may or may not be swapped each time you load the game)
- Default is S
[Forms]
;Randomly swaps between Base1, Base2, Base3
Base|Base1,Base2,Base3
;50% chance to swap Quill01 to PaintBrush01
;25% chance to swap Quill01 to PaintBrush02
0x23D63|0x1BBC5|NONE|chanceS(50)
0x23D63|0x1BBC6|NONE|chanceS(25)
;50% chance (rerolls each game session)
0x23D63|0x1BBC5|NONE|chanceR(50)
Examples
[Forms]
;swap Repair Hammers with Apples
0xC~Oblivion.esm|0x3365D~Oblivion.esm
[References]
;swap specific reference (in The Tiber Septim Hotel lobby) with a Welkynd Stone and scale it 100x
0x3ADB0~Oblivion.esm|0x191~Oblivion.esm|scale(100)
[Transforms]
;disables specific reference of RockGreatForest050
0x9451~Oblivion.esm|disable
Check BaseObjectSwapper.log in Oblivion directory, for more information about the process.
Installation
- Install as normal with a mod manager.
Credits
Source
- xNVSE team
- lStewieAl for some extra REd functions
- powerofthree for both the SKSE and xNVSE versions
- llde from xOBSE for helping me figure out Oblivion internals
- wall_sogb from the xNVSE discord for helping me with FNV internals