Queue on 5/7/2013 at 02:46
Quote Posted by gunsmoke
I can play Thief with the best of them, but I found Dishonored bloody difficult as a pure sneaker.
After it finally dropped down into the $20 for cost, I bought the game this afternoon, and I have to say I am so far very, very, very annoyed with how awkward and unforgiving the sneaking around bit truly is. And I'm playing on idiot mode!
Also, I can't figure out how to drop or holster the damn gun so both weapons are not in view. But I'm inclined to think that it's not possible.
Maybe I should read the manual....
calmflow on 5/7/2013 at 03:48
To sheath weapons, hold F
jdv on 6/7/2013 at 02:34
Quote Posted by Queue
After it finally dropped down into the $20 for cost, I bought the game this afternoon, and I have to say I am so far very, very, very annoyed with how awkward and unforgiving the sneaking around bit truly is. And I'm playing on idiot mode!
Also, I can't figure out how to drop or holster the damn gun so both weapons are not in view. But I'm inclined to think that it's not possible.
Maybe I should read the manual....
You need to take advantage of the vertical. Enemies actually look where their heads are pointed, and they don't have a tonne of vertical FOV. It takes some getting used to, if you are used to games like Thief.
weirwood on 14/8/2013 at 13:33
It's a bit off-topic, but have you by any chance found out what the precise difference between the normal difficulty levels is, in-game? If so, I'd very much appreciate a copy-paste of the relevant entries.
jdv on 14/8/2013 at 20:34
Hi everyone,
Work has been all-consuming recently, which has meant I have had no time to play games or develop this mod further, but I'd like to say that I am currently installing the new DLC and will be testing for full compatibility with the mod. Expect an update v0.04 shortly which will ensure bug-free gameplay.
Regarding the differences in difficulty: I do not know of a comprehensive list. However, you can find lists of variables in the .ini files which are followed by a number [0 - 3], as such:
Player.ini
m_fOffscreenMeleeDamageReduction[0]=0.5 --> 0
m_fOffscreenMeleeDamageReduction[1]=0.5 --> 0
m_fOffscreenMeleeDamageReduction[2]=0.5 --> 0
m_fOffscreenMeleeDamageReduction[3]=0.5 --> 0
These represent easy - difficult, in ascending order.
Cheers, Joseph
Fallen+Keeper on 17/8/2013 at 02:20
I tracked this mod down to this forum :) I should have expected that a difficulty mod would come from a ttlg member ;)
I'm really tempted to try this mod, as I was a fan of the difficulty mod made for Thief and I found Dishonored to easy to enjoy in the long run. I have some doubts though. By saying that it's compatible with DLC, do you mean that it doesn't break them? No conversations ruined by NPC that hear when someone on the other part of the level farts?
And by WOB you mean TBW, right? ;)
jdv on 17/8/2013 at 16:15
Ah ha! You caught a good mistake. Thanks.
Well, remember in thief 2 + difficulty mod? Sometimes you were clumsy and would break conversations from a good distance. However if you are good at stealth, none of the scripted events will break.
By compatible, I mean no known bugs. The changes make a few (i.e., one or two) brawls happen that were not originally intended in the game, but they are few + far between, and kind of fun.
Quote Posted by Fallen+Keeper
I tracked this mod down to this forum :) I should have expected that a difficulty mod would come from a ttlg member ;)
I'm really tempted to try this mod, as I was a fan of the difficulty mod made for Thief and I found Dishonored to easy to enjoy in the long run. I have some doubts though. By saying that it's compatible with DLC, do you mean that it doesn't break them? No conversations ruined by NPC that hear when someone on the other part of the level farts?
And by WOB you mean TBW, right? ;)
Tautologist on 28/8/2013 at 16:38
It's possible to mod things like Blink mana cost and distance per level by directly modifying the game's upk files.
This isn't hard, but it can be somewhat uncomfortable. Nevertheless, some games have pretty big modding communities based around editing such files directly. In particular, (
http://wiki.tesnexus.com/index.php/Hex_editing_UPK_files) XCOM: Enemy Unknown.
Lots of parameters and scripts (along with resources such as textures, meshes, etc) are located in the upk files. They're compiled by the unreal development kit. You can't open them using official unreal software, however. The files can also be compressed so that they take less space (Dishonored's files are compressed).
Some games will refuse to load modified files (though this can usually be circumvented), but Dishonored doesn't seem to have a problem with this. It loads files from the CookedPCConsole folder by name, and will also load files in sub-directories. Files with the same name (wherever they are within the CookedPCConsole folder) conflict, and the game seems to choose recent files over old ones, which means it will naturally load any files you modify over the original files.
In order to start modifying Dishonored's upk files, you need a few tools.
* Gildor's (
http://www.gildor.org/downloads) Unreal Package Decompressor
* (
http://eliotvu.com/portfolio/view/21/ue-explorer) Eliot's UE Explorer
* A hex editor.(
http://mh-nexus.de/en/hxd/) HxD is a popular choice.
As I mentioned earlier, Dishonored's upk files are compressed binary files. We first need to decompress them using Gildor's tool (just drag and drop the upk file onto the decompress.exe executable). Then open the resulting upk file using UE Explorer. By the way, the game also has no problem loading decompressed files.
There are many, many upk files in the folder. There aren't any tools that can somehow find whatever you're looking to modify (I'm not aware of them at least); you'll have to do a lot of guesswork. Some files contain only content (e.g. textures and meshes, and possibly flash content). There are also pck files that contain audio.
* Files that begin with L_ are probably level files
* Files that begin with UI_ are UI related files and don't seem to contain unreal code
* Files that contain 'twk' or 'Tweak' generally include minor modifications
* DishonoredGame.upk seems to include most of the "interesting" things that have direct game counterparts. For example, it contains power, item, and upgrade-related definitions.
Modding DishonoredGame.upk
Let's open the decompressed file using UE Explorer. Then go to the Objects tab. Since the main questions in this thread seem to be about modding powers like Blink, I've looked into this subject, and here is what I found out.
Power definitions are generally divided across different unreal classes. The primary power classes for active powers seem to inherit from DishonoredActivePowerComponent. You have classes like DishonoredActivePowerComponent_Blink, for example. DAPC classes are connected to classes that inherit from DisTweaks_ActivePowerBase via a property called m_pPowerTweaks An example of a DT_APB class is DisTweaks_Blink.
Some of these classes have the 'config' flag, which means they are mapped to an ini configuration file. As far as I know, you can't add this flag yourself. However, this allows you to see which properties can be set from the ini file.
A lot of the settings set in the DAPC classes are overwritten by the ini file or by special
objects of the DT_APB classes. Some of the parameters set in DAPC classes seem to have no effect at all. Also note that some other upk files (e.g. tweak files) may overwrite some of the settings in DT_APB classes.
Now, to the matter at hand. If you go to the Content tab in UE explorer and browse through the different packages, you'll see several DT_APB objects. For example, Twk_Powers.Blink.Twk_Blink. This is where some important settings are set, including mana cost, rune cost, and power-specific things like Blink distance based on level.
We'll pick the Twk_Blink object and set some of its properties.
We cannot edit the object directly from UE Explorer. We'll need to hex-edit the file in order to change these settings. However, if we just want to modify some numeric parameters, it's not as bad as it might sound. (In the XCOM modding community, some people actually insert new code by hex editing).
First, in UE explorer, go to View->View Buffer. This will show you a hex view of the object you're browsing. Then go to Edit->Export Binary File. This will dump the binary definition of the specific object you're browsing into a file. Open the resulting file using a hex editor, and copy its entire contents (before editing) to the clipboard. Now you'll need to find the value you want to edit. This requires a little guesswork, but the structure is generally similar to what you see in UE Explorer. For example, search for the mana cost (20) and the 2nd level rune cost (03), and change them to other integers. When looking for the 2nd level rune cost, note that it's adjacent to the first level rune cost (there should be several values of 03 in the file).
In theory, you could now use the Import Binary File functionality of UE Explorer to dump the changes back into the upk file. This functionality seems to be broken, however. You'll have to open the DishonoredGame.upk file using the hex editor, and search for the entire hex block that comprises the original object definition and replace it with the edited object definition. There should be only one such block in the file, which means there is no chance of error.
And that's it.
jdv on 30/8/2013 at 01:09
Quote Posted by Tautologist
It's possible to mod things like Blink mana cost and distance per level by directly modifying the game's upk files
...
And that's it.
First, thank you for your help with this. I got as far as looking at the hex code a while back, but no further. I couldn't figure out for the life of me what values to change.
However with a bit of persistence and your guidance, I should be able to do it in time. Right now is NOT that time unfortunately, I have a billion things on the go, but in a month, about, that will change significantly, and I would love to get to modding these files.
With store prices changed + rune prices changed, Dishonored would have a real functional economy, forcing specialization. I think this is the biggest thing missing from the game now that the guards aren't blind, deaf, and drunk. I really appreciate your detailed post regarding this. With everything made more expensive, I would feel comfortable scaling back a bit of the combat difficulty, to make for a more balanced experience.
I'm pretty happy with the general feel of the game right now (still ghostable, but it isn't easy to do, and mass murderer is equally hard, with a balanced approach being the most appropriate solution). I think the community feels the same way, although I am still open to criticism. I consider this a long term project. The mod won't die any time soon!
Jeeze... I'm at 206 hours of playtime. I just don't understand those people who complained the game was short :)
Tautologist on 30/8/2013 at 12:10
Sure, I'm happy to help. The changes you propose sound great. There is simply too much wealth, too many runes, and too many bone charms (most of which are also rather useless, and others overpowered).
It's somewhat disappointed that Arkane haven't released this sort of patch themselves (e.g. an "ultimate difficulty" DLC). I really thought they nailed the resource distribution in the DLC (with a few minor nitpicks). At least on the difficulty setting I was on, you had to work hard for your money and lift everything in sight.
Anyway, here is some more stuff I found out.
Character Attributes
The object
Startup.Twk_Pawn_Corvo.Twk_Pawn_Corvo_Release (In the file
Startup.upk) has many useful character attributes, such as:
* Maximum health and mana
* Health/mana granted by potions
* Health/mana regeneration
* Maximum bone charms
* Many, many other things, such as crouch height, slide distance...
It also contains difficulty-based settings for some of these attributes (someone was previously interested in this).
Another interesting object is
Startup.Twk_PlayerVisibility.Twk_PlayerVisibility which has some visibility attributes.
Store Prices/Inventory
The store is of the class
DishonoredGame.DisTweaks_Store. The object that contains the actual inventory and price list (at least in the original game, not in the DLC) is
L_Pub_Craftsman.Stores_Twk.Stores.Twk_Store_Craftsman (
L_Pub_Craftsman refers to a upk file). The inventory, including names, descriptions, and item prices is probably encoded in the property
m_StoreItems. This property is an array of structs, which UE Explorer doesn't usually decompile. It's still possible to edit store prices, however, by taking advantage of the characteristic structure of each inventory entry. (
http://prntscr.com/1od3qx) Here is an example of this structure. It seems to be present in every single item.
The characteristic block is '00 A4 01 00 00 00 00 00 00 37'.
A couple of notes:
* In the image, the characteristic block is marked in red, the price is marked in blue, and the length of the selected offset block is marked in black. It shows the price of regular crossbow bolts, which is 20 (encoded as 14 00 00 00).
* The characteristic block appears in each inventory entry, and the offset is always identical (that I've seen). However, things besides the offset and the characteristic block can differ between inventory items (e.g. the data contained between the characteristic block and the price). There is usually something next to the block that tells you which store item you're editing, though.
* Numbers are encoded as 32-bit integers in little-endian format. This means that the price code is four bytes long, but the order of the bytes is reversed. Something like '1E 00 00 00' should be read as '00 00 00 1E'. (Note that the order inside each byte is *not* reversed).
* It's probably possible to write a small application that will automate much of the process.
* This is experimentally verified for several items.
Upgrades
Some upgrade definitions can be found in the (content) package
Startup.Twk_Upgrades, which contains an object for each upgrade. However, UE explorer can't manage to decompile almost anything here, because most of it is in the form of struct arrays, and I have no idea what sort of data is contained in them. It's probably not something that can be easily edited, which is a shame.
Weapon Stats
Some weapon stats can be found in
Startup.upk. This includes several kinds of packages, such as
Twk_Projectiles with stats for arrows and bullets, as well as things like
Twk_SpringRazor and the package
Twk_SwordBase, which seems to have statistics for a sword. However, these are probably superseded (at least partially) by what's found in
Twk_Inv_PlayerSpecific, since it contains things like
CrossbowCorvo and
PistolCorvo and has difficulty-based settings.
Passive Powers
Passive powers are defined (in the upk files) in
DishonoredGame.DishonoredPowersComponent, which is linked to an ini file (as people have found previously). It's probably possible to use the list of attributes appearing in the classes
DishonoredGame.DisTweaks_PlayerPawn_Attributes and
DishonoredGame.DisTweaks_Pawn_Attributes to redefine these powers in pretty major ways, but I haven't tried this yet.
Bone Charms
These seem to be defined in
Startup.Twk_Pawn_Corvo.Twk_Pawn_Corvo_Release.DisTweaks_WhaleBoneCharmList. However, they are defined as an array which UE explorer doesn't seem capable of decompiling.