I will NOT, however, be distributing the entire modified Assembly-CSharp.dll. Instead, I will be issuing an XDELTA patch, which will merely contain the changes necessary to transform the original DLL into the new, improved version. Hopefully, this will keep inXile's lawyers off my back (though if they forum ban me anyway, I'll likely head over to RPGCodex.net).
DOWNLOAD
XDELTA patch download: https://www.dropbox.com/sh/x36syu96ku75 ... g80ka?dl=0
Filename: patch_v0.9.4.053.xdelta
(If running Linux, instead go into the 'Linux' subfolder and download that patch.)
You will need a program to apply the patch to the original Assembly-CSharp.dll. Already in that Dropbox folder is an XDELTA patcher (DeltaPatcherLite.exe) that will work with Windows, originally from http://www.romhacking.net/utilities/704/. A Linux patcher called YADP is available at http://www.romhacking.net/utilities/1159/, a copy of which is also in the 'Linux' subfolder. A Mac OS X variant can be downloaded from http://www.romhacking.net/utilities/746/. Or Google "XDELTA patcher" if you don't like these, there seems to be a lot of them.
Also, from that same location, download the Localization.zip file.
INSTALLATION INSTRUCTIONS
If you're not already there, go to the "...\Steam\steamapps\common\Wasteland 2 Director's Cut\Build\WL2_Data\Managed\" directory. Before applying the patch, make a folder named "Backup" and copy the original Assembly-CSharp.dll there. This and any future XDELTA patches I create will be relative to the original DLL, so you always want to keep a copy of it. If you should lose the original DLL, you can restore it by going into Steam, right-clicking on "Wasteland 2: Director's Cut" in your Library and selecting Properties. Go to the "Local Files" tab and click on "Verify Integrity of Game Cache".
For Windows, verify that the size of the Assembly-CSharp.dll is 19,246,592 bytes before trying to administer the patch, as it won't work otherwise.

For Linux, size should be 19,247,104 bytes.
Run the DeltaPatcherLite.exe (or whichever patcher you're using) and select the non-copied Assembly-CSharp.dll as the target, and the patch_v0.9.4.053.xdelta file you downloaded from the above Dropbox link as the patch file, then apply the patch.
After patching, the Assembly-CSharp.dll will actually be smaller, but that won't matter, as only some useless padding is removed.
Extract the contents of the Localization.zip file into the "...\Steam\steamapps\common\Wasteland 2 Director's Cut\Build\WL2_Data\StreamingAssets\Localization" folder.
Since this is still a beta version, I recommend verifying everything is working correctly with the patched DLL. First, start Wasteland 2 like normal and exit at the main menu. Open the output_log.txt file, typically in the "...\Steam\steamapps\common\Wasteland 2 Director's Cut\Build\WL2_Data\" folder, and search the text file for "exception". Hopefully, you won't find any, in which case start the game again and load a save, then exit. Check the output_log.txt file once more for any exceptions. If no exceptions, everything should be working fine.
NEW CAPABILITIES
***lots of outdated information in this post now, check the changelogs (particularly 0.9.3 onwards) for further information***
IMPORTANT: Gamepad support is currently bugged, so you must use a mouse.
LINKS TO PATCH NOTES
0.8.2
0.8.3
0.8.4
0.8.5
0.9.0
0.9.1
0.9.2
0.9.2b
0.9.2c
0.9.2d
0.9.3
0.9.3b
0.9.4
0.9.4b
0.9.4c
0.9.4d
0.9.4e
0.9.4f
0.9.4g
0.9.4h
0.9.4i
0.9.4j
0.9.4k
0.9.4l
0.9.4m
0.9.4n
0.9.4o
0.9.4p
0.9.4q
0.9.4r
0.9.4s
0.9.4t
0.9.4u
0.9.4v
0.9.4w
0.9.4x
0.9.4y
0.9.4z
0.9.4za
0.9.4zb
0.9.4zc
0.9.4zd
0.9.4ze
0.9.4zf
0.9.4zg
0.9.4zh
0.9.4zi
0.9.4zj
0.9.4zk
0.9.4zl
0.9.4zm
0.9.4zn
0.9.4zo
0.9.4zp
0.9.4zq
0.9.4zr
0.9.4zs
0.9.4zt
0.9.4zu
0.9.4zv
0.9.4zx
0.9.4zy
0.9.4zz
0.9.4.053
In the Options menu, there will now be a new Modding tab where you can adjust additional mod-related settings. If you see a mention of a settings.ini, just go to the Modding tab instead, as the INI file is no longer used.
- Export object data: "Export All Objects" in Options-->Modding tab. Game objects like ItemTemplates, NPCTemplates, DropSets, StatusEffects, etc. will all be written to the "Export" folder to assist with modding. 'Scene' (map) specific objects will be written the first time the scene is loaded.
- Allows applying override files to more object types: Traits, CNPCTemplates, DropSets, SpecialAttacks, AIWeightTemplates, WorldMapRandomEncounters, etc. previously could not be altered via MSON files.
- All fields are now writeable to: the base game has issues with properly reading MSON files in certain circumstances, and hence fields like validMods in ItemTemplate_Weapon could not be modified.
- Improved object referencing: the base game has only a limited capacity for finding and linking to other objects, therefore many fields that require a reference to other objects cannot be changed. Currently, the modified game only allows linking to objects already loaded by the time the main menu is reached after starting the game, which includes:
- all: ItemTemplate, StatusEffect, JournalEntryTemplate, WorldMapRandomEncounter, WearableInfo
- many: AIWeightTemplate, DropSet, MobTemplate, SpecialAttack
- Expanded support for enumerations: enums can now be used as array/list indices, while for fields expecting a certain enum type, the enum name can be optionally provided. Enums are NOT case-sensitive.
For example, the modClass field in ItemTemplate_Weapon is of type WeaponModClass enum. All the following are equivalent:Both the following are equivalent, altering only the 8th-element in the array.Code: Select all
modClass : SHOTGUN modClass : WeaponModClass.Shotgun modClass : 5
Refer to the enums.txt file created in the "Export" folder after running the modified game for the first time for a list of enumerations and their constant names.Code: Select all
equipment :& [ EquipmentSlot.WeaponR : Energy_Toaster_Gamma_Ray ] equipment :& [ 7 : Energy_Toaster_Gamma_Ray ]
- Set custom mod path: The game can be redirected to search for the "Mods" folder anywhere on a hard drive. The default "Mods" folder location is in the "Wasteland 2 Director's Cut\Build\WL2_Data\" directory (eg. "C:\Program Files\Steam\steamapps\common\Wasteland 2 Director's Cut\Build\WL2_Data\Mods\"). Since Windows doesn't normally like filepaths of more than 260 characters and some objects are heavily nested, you can create a folder like "C:\WL2" and then enter that path into CustomPath in the settings.ini to point the game to it.
- Enable/disable the inXile logo movie: PlayLogo option in settings.ini. If you're tired of clicking through the logo movie for the millionth time.
inXile has a handy modding tutorial on their website, which will help familiarize you with the MSON format.
The modified game behaves just like the base one. MSON override files go in the "Mods\Import\" folder, and the same nested folder structure is used. You can find out where to place files by looking at the directories in the "Export" folder if the FullExport option in settings.ini is turned on.
Any messages concerning the loading of MSON files will be outputted to the debug_import.txt file in the "Mods" folder, so if a change doesn't seem to be working, check for any error messages there.
Note that even though the MSON files written to the "Export" folder will have a lot of data in them, the MSON overrides in the "Import" folder need only contain the field(s) that you wish to change. For instance, if you have FullExport turned on, then the AZ0_AngelaDeth_PC.mson file will be written to the "Mods\Export\MobTemplate\PCTemplate\CNPCTemplate\" folder. Yet if you only want to change her portrait, then a file called AZ0_AngelaDeth_PC.mson in "Mods\Import\MobTemplate\PCTemplate\CNPCTemplate\" containing the following is sufficient:
Code: Select all
{
portraitTexture : wl2_portrait_kekahbah
}
Bear in mind that some NPCs have multiple NPC_Templates and Spawners that are used at different times, so depending on what you wish to accomplish, you may have to modify them all.
If you're editing the validMods field on weapons, I recommend removing all mods from any weapons that will be affected first (including those in your storage locker at Ranger Citadel), because it's doubtful the game will appreciate you loading up a savegame containing a weapon with a no longer legitimate mod attached to it.
Please inform me of any other issues you may have.