Jump to content

Fhav6X

Members
  • Posts

    90
  • Joined

  • Last visited

Everything posted by Fhav6X

  1. Sorry, but it is not possible to unlock that. The coloring of given skins, hairs, heads etc. is called tinting. To tint any of those the game needs a file, a so called tint map, that tells it how to do that. Sadly, there are no tint maps for godlikes in the game. One has to create them. I tried to do that in the past weeks, but the unity engine is a little b.... when it comes to this topic.
  2. I'm not Bmac, but judging from the game's code there is a package index and a load order of bundles. The last loaded bundle would have the highest priority. public enum PackageIndex { // Token: 0x04005333 RID: 21299 BaseGame, // Token: 0x04005334 RID: 21300 BackerBeta, // Token: 0x04005335 RID: 21301 LAX1, // Token: 0x04005336 RID: 21302 LAX2, // Token: 0x04005337 RID: 21303 LAX3, // Token: 0x04005338 RID: 21304 LAX4, // Token: 0x04005339 RID: 21305 LAXA, // Token: 0x0400533A RID: 21306 LAXB, // Token: 0x0400533B RID: 21307 LAXC, // Token: 0x0400533C RID: 21308 LAXD, // Token: 0x0400533D RID: 21309 Unused, // Token: 0x0400533E RID: 21310 LAXE, // Token: 0x0400533F RID: 21311 LAXF, // Token: 0x04005340 RID: 21312 LAXG, // Token: 0x04005341 RID: 21313 LAXH, // Token: 0x04005342 RID: 21314 Count I can't say, if the package index is used as the load order though.
  3. I have now marked under 3.12 that you have to save and not export the finished file. If you do it as I suggested you just have to mark the numbered unity3d file when saving and remove the extra number. This way you always correctly name the file and file extension.
  4. There are multiple types of Monobehaviors. When a new one is created in UABE, the program reverts it always to the default type of these and in so doing, cutting off areas needed for the extra information of the prefabs. There might be a way to "add" new items/armors/weapons. I have seen a lot of poe1 stuff in the bundles. One could recycle those for new things in poe2.
  5. Think of the characters.gamedatebundle as a raw blueprint for a npc/pc. After a npc/pc is generated in game, many of the character variables are stored in the save file and recalled from there. Changing the blueprint won't change, what is already created. You would need a save editor like eternity keeper, but for poe2, to change those.
  6. UABE can do this the same as with pictures. But for swapping models, you just have to redirect the paths in the prefab, or (for single parts) replace the model files, like I did in 3.10 and 3.11. As soon as I figure out, how to create prefabs, I will make a tutorial for entire custom models. Skin color change can be done by editing the material files of the models. They have sections called "_TintMap", "_TintColor1" and "_TintColor2". If there is no file for the "_TintMap" you can just enter the color numbers for your color under both "_TintColor1" and "_TintColor2". The color numbers for red green and blue are the rgb numbers of a color (look them up in paint) divided through 255.
  7. @Cassiopea You have to edit the prefab a_Ydwin_Head and a_Ydwin_Hair in characters.unity3d for that. Also those companion heads/hairs only work for the same race as the companion. You have to make rescaled models for the other races. If you ask me, that is to much trouble for something small like this.
  8. 3. Time to mod! I will now mod the female Godlike head 1 to look a little different. 3.1 Rename items.unity3d (if you have not "uncompressed" it), characters.unity3d and character_headandskin_hd.unity3d. I named them items3.unity3d (if you have not "uncompressed" it), characters3.unity3d and character_headandskin_hd3.unity3d. 3.2 Make a work folder somewhere. 3.3 Open UABE -> open items3.unity3d -> save the "uncompressed" as items.unity3d -> open items.unity3d -> click info -> resize "Asset info" to your liking -> look for MonoBehaviour a_F_GODM_Head01 -> click "Export Dump" -> save the file in your work folder. The file name contains the Assets md4 hashed name and the Path id (none negative). I won't change and import a_F_GODM_Head01 back. But it is easier to look up the SInt64 m_PathID this way. If you wish to use different/custom models you have to edit this file too. 3.4 I will only change the colors of the actual head, so I just need the SInt64 m_PathID from string MeshName = "F_GODM_Head01" PPtr<$Material> MaterialOverride int m_FileID = 1 SInt64 m_PathID = 8442848947353014589 3.5 Open UABE -> open character3.unity3d (mine is already "uncompressed") -> click info -> resize "Asset info" to your liking -> click on view -> select "go to asset" -> fill in the file id and under path id 8442848947353014589 -> click "View Data" -> a window will pop up. Material files are like prefabs for texture. I will not edit this file, just the textures it references. 3.6 In the window expand to "UnityPropertySheet m_SavedProperties/map m_TexEnvs/Array Array/2/_MainTex and note the SInt64 m_PathID = 8053650484694347279. 3.7 Now look for this file via "go to asset" -> click on "Plugins" -> select "Export to .png" -> save the file in your work folder. DO NOT CLOSE UABE!!!! Well, you can close it, but it's easier this way. 3.8 Edit the file to your liking. I use gimp for that. 3.9 With UABE still open and pointed, at the file click on "Plugins" again -> now select "Edit" -> a new window opens -> click on "Load" under "Texture" -> select your edited file -> confirm everything. I want to give the moon godlike the horns of a nature godlike. For that I will replace the horns object files. 3.10 Look for F_GODN_Head02_Horns in character3.unity3d (there are models for each race) -> select all of them and click "Export Dump" -> now look for F_GODM_Head01_Horns click "Import Dump" and import F_GODN_Head02_Horns for the corresponding race. 3.11 In the "Asset info" window select "File" -> save -> OK -> "Asset info" closes. 3.12 In UABE select "File" -> SAVE!!! (not export) as "character.unity3d" without the extra number from before. PoE2 has extra hd textures in character_headandskin_hd.unity3d so I will edit those too. The textures have the same name as the ones in characters.unity3d but with a "_HD" at the end. 3.13 Open UABE -> open character_headandskin_hd3.unity3d and repeat Step 7 to 11. Almost finished. 3.14 Launch PoE2 and go to character creation. 4. FAQ Q: Can we create own files? A: Yes and no. There is currently a problem in UABE with new MonoBehaviour files like the prefabs, that prevents creating entire custom things. Any other file type can be created. Q: Can we make install packages? A: Yes, UABE offers this. I recommend to make a readme with all edited SInt64 m_PathIDs for mod compatibility.
  9. This is a 2nd level Tutorial on how to edit assets and assetbundles. Tools - Unity Assets Bundle Extractor https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor - Text editor (e.g. notepad++) - Asset Studio https://github.com/Perfare/AssetStudio/releases - paint, gimp, photoshop, paint3d, blender 0. What is a 2nd level Tutorial? PoE2 has three levels at which one can mod the game. Level 1 is modifying the gamedatabundles, stringtables etc. Let's call it scripting and shuffling of existing things. You can't add totally new stuff or change the game mechanics. Level 2 allows you to add self made contend (new npcs, new hairstyles, new look etc.) just like a DLC. Level 3 is changing the game mechanics. In other games this is called the "hard coded" level and is normally not accessible to moders. Level 1 has no influence on level 2 or 3. Level 2 has no influence on level 3 but on level 1. Level 3 has influence on level 1 and 2. 1. What are assets and assetbundles? The Unity engine stores all files required to display anything in the game (animations, areas and character meshes, some scripts, visual maps, variable lists e.g. for companion stats) in so called assets and assetbundles. The asset files are the "levelxy" or "sharedassets" in the "PillarsOfEternityII_Data" folder. Assetbundles are the unity3d files in the "PillarsOfEternityII_Data\assetbundles" folder. The "levelxy" and "sharedassets" contain mainly areas and maps and the interaction between all the stuff on it (npc, quest and sequence triggers). So if you want to edit/build maps this are the once you need to get familiar with. The assetbundles in "PillarsOfEternityII_Data\assetbundles\streamtile" contain the textures for the areas and maps. The focus of this tutorial will be the assetbundles in "PillarsOfEternityII_Data\assetbundles". The contain the stats and appearance files for all items, characters, creatures and the UI. They have mostly convenient names. The ones that start with "lax" are the expansions and DLC's. 2. How to mod assetbundles? 2.1 UABE and Asset Studio In order to modify assets or assetbundles you need Unity Assets Bundle Extractor (UABE). It is the only tool I know, which can import files into existing assets or assetbundles. UABE is not very helpful for browsing the files. This is where Asset Studio shines. It can give you previews of files without the need for extraction and external programs. 2.2 Things you need to do, before start modding. The big unity3d files are "compressed"!? Not really, but you will have to "uncompress" them. UABE has a protection build in to prevent unwanted overwrite. To make your life easy just do this ALWAYS!!! when modding an assetbundle. - take the unity3d file you want to "uncompress" or mod and name it name2.unity3d e.g. characters.unity3d --> characters2.unity3d - open characters2.unity3d in UABE via File -> open - if you haven't "uncompress" the file you will be prompted to do so. - save the file as characters.unity3d without the number. Now you have two files, a backup with a number and one modded, which is used by the game. PS: there is no need to "compress" those files. 2.3 The file structure inside the assets or assetbundles. Use UABE or Asset Studio to open the assets or assetbundles. You will see many different file types. If you already know, how to mod gamedatabundles, you will recognize monobehavier files with "prefab" in their names. This prefab files are text files containing, how all the other files are put together. They are the assembly instructions. Here is an example, I will use in this tutorial. It's the prefab for the female Godlike head 1. Practically all visual object prefabs can be found in "items.unity3d". It looks like a lot, but it is more simple than it seems. If you want to change the appearance of anything in the game the cyan part is the most important. The locations of all necessary files are under "FBXModelData ModelData". The strings are all references to files in characters.unit3d. The next important part is "SubMeshSettings SubMeshes". Here are the meshes used and under "MaterialOverride" is the reference of their color files. When you open those meshes and material files, you will see the same structure and references to object (fbx), skeleton, and texture files. 2.4 Referencing in the assets or assetbundles I have used the term reference very often in the previous section. There are 3 ways to reference something in the assets or assetbundles. 1. Reference by name (eg. string MeshName = "F_GODM_Head01") 2. Reference by SInt64 m_PathID. When you open an asset or assetbundle in UABE and click on "Info" a window called "Asset info" with all the files in the asset will open. In this Window there is a tab called "PathID". This is the SInt64 m_PathID of the file. If you want to find a file mentioned in the prefab or other files, copy SInt64 m_PathID, open the "Asset info"-window of the asset, click on view, select file id (there is only one), fill in the path id and click ok to find the file. 3. In some cases we have files referenced across assets and assetbundles. The prefab files are in items.unity3d and reference to characters.unity3d. I have not figured out yet, how this is done. Presumably it has something to do with a file in every asset with the path id 1 and/or the "UnityAssetGuidString".
  10. UABE dose not seem very user friendly at first, but it is actually very easy to use. And modifications to models are unlikely to be overridden through patches. Those files are separated from game mechanic files. Unless a patch changes "old" models there is not much to be feared. The new 2.1 patch did nothing to my mods. But there are other obstacles, which make public mods very difficult. And I 100% agree on the "import via override" to be the desirable way of doing such mods.
  11. I am sorry, but this answer is totally wrong. I have already done all of the asked things (see this topic for results). I am currently writing a guide to do these modifications. I hope to finish it on Sunday.
  12. Yes, they are stored separately . Yes, one can mod them to the other gender . No, they don't look good when switched . The meshes, skeletons and scale of armor are designed for specific body types (gender and race) and behave odd, misplaced and crooked on other bodies. Unless you are very good at designing and editing 3D models this is a fruitless endeavor.
  13. I made some progress. I was successful in changing Pallegina's hair style. I also managed to make a new look for Xoti. before after With currently available modding tools (unity asset bundle extractor in short uabe) it is possible to change the appearance of any object in the game. Skilled people may even create new meshes for npc's, armor, weapons or even redesign maps. What's not possible is making new things and add them to the game. The appearance of any npc, weapon etc is defined by a prefab monobehavier file in the items.unity3d assetbundle. With uabe it is possible to edit existing files, but because of a bug in uabe file creation routine, it is currently not possible to make new blank files of this sort. I also figure that such mods are not very practical in the future, as they will have problems with overriding already used addresses. I got a clue though how one could make own assetbundles, which would circumvent such problems and the problem of file size. Creating a guide for all this will take me some time, but I'm on it.
  14. UABE has a packageinstaller. I need to tinker with it a little to see if it works with poe2. If it works, it will circumvent uploading 1GB+ files. So that can be handled. As for assembly-csharp.dll....it needs to be updated with every new patch. I admit, while most hacks for it are very simple, it gets annoying to do them over. That is also the reason I have not posted my Godlike helmet mod yet. Just two lines to remove and you have full helmet support without stupid commands. Hopefully someone can write something like WeiDu from BG for poe2 someday.
  15. What is described in the link is theoretically doable, but it will require a loooooooot of work. Most likely more than there is ambition to do so. One would need to rewrite entire classes in the game's code. The Problem here is easier. We have two "identical" groups (in terms of files). One can be customized and the other cannot. There has to be something (a flag, if clause, a list) that distinguishes between them. Change that and the Problem is solved.
  16. I am trying a new approach. The idea is to activate the appearance button for companions, to make them customizable like main and hired characters. For that I have been poking around in the assembly-csharp.dll and what I found so far.... The actual coloring of the models is done by creating paper dolls. The responsible class is the UICharacterCustomizeManager. This class gets data set in class NPCAppearance. So somewhere in this classes is the key to unlock full customization of all characters (companions and godlikes).
  17. I started using AssetStudio to browse through the unity3d files, as it is more structured than uabe. https://github.com/Perfare/AssetStudio/releases Every model has V01 texture files containing the colors and other optical stuff. These V01_C textures are the base color of all models. There are no other textures with different colors for a model, which means the part that handles coloring is not to be found in gamedatabundles or assetbundles. I presume it is a piece of code in the assembly-csharp.dll. @kilay You could duplicate and rename the models and their prefabs and create new V01_C textures. Then you have to ad the prefabs to the corresponding line in your color mod.
  18. The last two days I tried to change Palleginas appearance and got stuck shortly before the finish line. I want to change her hair, since .... well it certainly not the best style. With "uabe" I managed to swap her hair with one of the default. Progress below. !! after !! As you can see her hair color is a little of. I want her to look like this adventurer I made. !! I can't find a way to change companions appearance colors. I looked all over the assetbundles and found files called "NPCAppearance" for all companions in characters.unity3d. The problem is, the color settings in the files are ignored by the game. I don't know, what else could handle it. I'm open to suggestions. Here is the NPCAppearance file for Pallegina
  19. That was a pain, but I made it Here is a fixes for the slight of hand bonus missing for all rogue classes with Berath's blessing bonus skills. https://www.nexusmods.com/pillarsofeternity2/mods/206 The bonus was applied to insight instead of slight of hand. This fix redirects it to slight of hand. Berath's blessing is only applied at character creation or for npcs when they join you. So one have to start a new game for the correct bonus on the avatar. It is incompatible with anything that modifies Berath's blessing bonus skills. Just extract into the override folder like all the other mods for PoE2. This are the class IDs for anyone, who wishes to change/make abilities for classes. The ForClassID is the main class.
  20. Definitely work with Backgrounds Unlocked. Backgrounds Unlocked modify what backgrounds are available and my mod changes the skills for the backgrounds.
  21. I found the background skills for some of the backgrounds a little bit odd in terms of logic and rp. So I changed them. Dissident : History => Streetwise Hunter : Alchemy => Stealth Laborer : add Streetwise Scientist : Arcana => Mechanics Philosopher : Insight now (1), add Metaphysics (2) (Seriously, if there is one skill that screams "PHILOSOPHY", then it's metaphysics. ) Clergy : add History Raider : Stealth => Explosives Apprentice : add History Farmer : made Survival/Religion/Streetwise Gentry : add History and Bluff Marksman : add Alchemy Midwife : Explosives => Insight Trapper : add Alchemy Here is the link https://www.nexusmods.com/pillarsofeternity2/mods/204/ Unpack it into the override folder as all the other mods. Here is also a list of skill IDs, if someone want the backgrounds different. Alchemy = "SkillID":"1b26af87-fd19-4dc6-9380-4f5cec7aefd5" Arcana = "SkillID":"e5f33551-ec5c-4cc8-b5f2-1eb03d210374" Athletics = "SkillID":"fefc4d3d-250d-4c32-85e0-62a851240e62" Bluff = "SkillID":"6fa62ec8-6695-4a1d-8553-7486b0ac20c4" Diplomacy = "SkillID":"c7e22ee0-bdd6-4ca8-99f0-a46f3dd66606" Explosives = "SkillID":"e67f20e3-5bf9-4d87-9bda-211405107362" History = "SkillID":"c6b6f87a-0381-4219-93eb-77ae2b64f0af" Insight = "SkillID":"f5d2c2bf-1ffd-4741-b6d8-31ae01985d4b" Intimidate = "SkillID":"3ad9194b-4f41-480e-aa75-1c82df43be84" Mechanics = "SkillID":"3affbb70-86bd-41f3-82c6-325326d40796" Metaphysics = "SkillID":"98051b85-d7e5-4746-a66c-260e2fcd2d4b" Religion = "SkillID":"98cc5a0d-1387-42e3-9202-417bc42b53ad" Sleight Of Hand = "SkillID":"3b073ebf-0a4a-48a3-947d-ad38bef10b36" Stealth = "SkillID":"8cc41e27-e62f-4e75-9f7d-ae47986895d2" Streetwise = "SkillID":"eb8da173-4a3e-4910-94e8-dd0c1436ca40" Survival = "SkillID":"9c7962b8-bf69-4670-ba67-acc86a09fca8"
  22. I made a new mod level and ability cap increaser 1.0 Mod (LACI 1.0) on github https://github.com/Fhav6X/level-and-ability-cap-increaser/releases/tag/LACI1.0 and nexusmods https://www.nexusmods.com/pillarsofeternity/mods/198 What does it do? - This mod increases the level AND the ability cap to level 20. ( Yep, just 20 but with abilities . You won't know where to put them all ) - This mod removes the helm restrictions for Godlike. Their boons are worth nothing at level 20 and so this restriction is no longer justified. - This mod removes the bonus xp for smaller parties and the penalty for not-in-Party-PCs. Main PC and all other party PC always get 130% of the base xp. Exception are PCs on adventure. They get the +X% xp extra. ( I to often found myself solo, missing a lot of comments from the others, just to get more xp for me and the companions) How to install? - Just extract the archive into the main Pillars of Eternity folder. !!!The code of this assembly-csharp.dll and the unity3d files is property of Obsidian Entertainment!!!
  23. I made a new mod "level and ability cap increaser (LACI)" and added it to Sttd What does LACI do? - This mod increases the level AND the ability cap to level 20. ( Yep, just 20 but with abilities . You won't know where to put them all ) - This mod removes the helm restrictions for Godlike. Their boons are worth nothing at level 20 and so this restriction is no longer justified. - This mod removes the bonus xp for smaller parties and the penalty for not-in-Party-PCs. Main PC and all other party PC always get 130% of the base xp. Exception are PCs on adventure. They get the +X% xp extra. ( I to often found myself solo, missing a lot of comments from the others, just to get more xp for me and the companions) Sttd got a minor tweek to its stronghold event chances. Otherwise its to boring in the endgame.
  24. I have to correct you. It is a 2d50 and not a 2d25 roll. And it is definitely only prestige that is added. Here is the game code straight from the file that handles it. if (stronghold.HasUpgrade(StrongholdUpgrade.Type.MainKeep)) { int num = this.m_randomValue1 + this.m_randomValue2 + stronghold.GetPrestige(); StrongholdAdventure.Type type; if (num <= 25) { type = StrongholdAdventure.Type.None; } else if (num <= 50) { type = StrongholdAdventure.Type.Minor; } else if (num <= 75) { type = StrongholdAdventure.Type.Average; } else if (num <= 100) { type = StrongholdAdventure.Type.Major; } else if (num <= 125) { type = StrongholdAdventure.Type.Grand; } else { type = StrongholdAdventure.Type.Legendary; } stronghold.AddAdventure(type); and the one that does the random value roll... case StrongholdEvent.Type.SpawnAdventure: strongholdEvent.m_randomValue1 = OEIRandom.Range(1, 50); strongholdEvent.m_randomValue2 = OEIRandom.Range(1, 50); break;
  25. I have run further test and they do trigger but not at 10% or 20% rate. Its rather around 1% to 2%. From 115 hits only 2 were converted with predator and from 41 grazes only 1 was converted with reliable.
×
×
  • Create New...