Jump to content

Kvellen

Members
  • Posts

    269
  • Joined

  • Last visited

Everything posted by Kvellen

  1. The soundtrack that comes with PoE1 has always been 26 tracks long from what I have seen. Is it possible that the longer version of the soundtrack came from your backing the Pillars of Eternity 2 - Deadfire fig campaign at a tier that granted the Pillars of Eternity (Deluxe Edition) (Original Soundtrack) as reward?
  2. Yes the "Operator" parameter determines whether "ConditionalCall" and "ConditionalExpression" should be and/or (0/1) statements. "ConditionalExpression" is useful if you need to determine the order of operations for a number of "ConditionalCall"s. Taking the above as an example. Without the "ConditionalExpression" the statement would be: is the player (Dwarf) OR (Orlan AND Athletics < 5). Other than node "0", I'm not seeing any links to node 16 in that conversation. Which likely means it isn't actually used for the skill check.
  3. Tested the "You Must Gather Your Party Before Venturing Forth." line with a restored back up. I'm willing to cautiously say that file only playing once per scene seems to be a feature of the "vo_narr_gather_party" event and not the audio file. So might not be an issue with RingingBloom's method of audio replacement. That said I have run into a new issue. It seems some audio files that are mentioned in "Soundbank.xml" and "Global.txt" are not showing up when opening the "Global.bnk" in RingingBloom. "imp_glb_pen_gun" (1160047966) for example. Might be these files are contrainers for a collection of other files. Which will mean a lot more extra digging to replace them. Assuming it is possible at all.
  4. I'd recommend giving the Apotheosis modtool by noqn a look. It unifies all the game data into a easily navigable interface so it is easier to look through. And UI displays conversations and scripts in manner close to the tool that was used by Obsidian. So you can see the scripts, conditionals expressions, and strings for each node in a conversation very quickly. https://gitlab.com/noqn/apotheosis These conversations don't have any .stringtable files that I can find, and if you trigger them with the StartConversation console command they are full of "Missing String" and "[Temp] Missing String" errors. So aren't likely to be used in the game. lax*exported folders work similar to a mod folder in that their contents override each other (in release order... I think...). If you compare the .conversationbundle files across the 3 DLCs you'll see that they the contents of the files doesn't change; except the "UObjectName" line. Interestingly the only difference is in the .stringtable entries where where Beast of Winter (lax2) is missing some .stringtable entires that are added by Seeker Slayer Survivor (lax1). The conversations themselves relate to 2* scripted interaction that precede combat encounters* in Neketaka ("LAXALL_RE_Woedica" and "LAXALL_RE_Magran"). These occur when travelling towards Periki's Overlook and with a certain number of pieces of the Crown of the Exiled Queen. The conditional's for these encounters make it seems that they are meant to trigger in a specific order First: "LAXALL_RE_Woedica": IsGlobalValue(LAX_n_CrownOfWoedicaPiecesCollected, GreaterThanOrEqualTo, 1) and not HasConversationNodeBeenPlayed(LAX_RE_city_ambush_wed, 7) The Player has at least one of the Crown Pieces, and has not fought the Woedica acolyte ambush yet. Then: "LAXALL_RE_Magran": IsGlobalValue(LAX_n_CrownOfWoedicaPiecesCollected, GreaterThanOrEqualTo, 3) and not HasConversationNodeBeenPlayed(LAX_RE_city_ambush_mag, 17) and HasConversationNodeBeenPlayed(LAX_RE_city_ambush_wed, 7) The Player has all three Crown Pieces, has been ambushed by the Woedica acolytes, but has not fought the Magran acolyte ambush yet. *From a few quick tests I couldn't get the Magran ambush to trigger for whatever reason. So it's possible that the second encounter is not enabled in the final release.
  5. You are correct about those parameters. More information can be found in Obsidian's modding documentation: https://eternity.obsidian.net/game-data-formats/conditionals#IsSkillValue The first parameter is the GUID of the character whose the skill is checked ( "b1a8e901-0000-0000-0000-000000000000" is the player character). The sixth parameter pertains to scripted interactions and whether or not to show the "Skill Check Failed" message. (Doesn't do anything in other conversation types).
  6. Link to Github: https://github.com/Silvris/RingingBloom Getting it to start seems to require installing Version 3.1 of .NET Core SDK. RingingBloom is made for modding .bnk/.pck files in recent Capcom games. Since these games all use Wwise (the same audio engine used in Deadfire) it seems to work for editing .bnk files for Deadfire as well. I haven't really tested it very much beyond what is in video above. The only issue I've encountered thus far is the audio file I replaced in the .bnk seems to only play once per scene. There may be other issue I haven't noticed. There's small wiki for how to use and set up the program but here is the setup that worked for me: The "Soundbank.xml" file and all of Deadfire's .bnk files can be found under the "StreamingAssets" directory of the game folder: "\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\StreamingAssets\Audio\Windows" MAKE SURE TO CREATE A BACK UP OF A .BNK FILE BEFORE EDITING AND/OR REPLACING IT. The mode "None" seems meant for non-Capcom games. This is what I used. It is possible that one of modes for a Capcom game might work and possibly produce better results (as I said I haven't tested the program very extensively). I created 2 folders outside of the Deadfire directory called "Import" and "Export" and set them as the respective default paths for those action in RingingBloom under "Options". "Import" is where I placed a copy of the "global.bnk", and once I had made the edit to the file ("You must gather your party" was named "Imported Wem 185" and has the id: "58017498") I saved it to the "Export" folder. The files in the .bnk are listed in a numerical order by their ID number, however the RingingBloom instead gives each file a display label of "Imported Wem *". Your best bet is to find a sound is to open the "Soundbank.xml" in notepad and search for the name of the file which should should eventually lead you to the file id.
  7. Hey@karasmithson, I've been really trying to find a way to read this story it without any luck. I'm really curious how you managed to read it? Was it from being a backer or did you manage to get the app to work somehow? From what I have seen there is no way to get into the app (on the latest version of android at least), and it seems like the website in original post now down.
  8. So this might actually be a very simple bug to fix. In short summoned weapon abilities have a conditional that prevent their use whilst the caster is under the effect of something that changes their form. Citzal's Enchanted Armory being such an ability that changes the caster form. All summoned weapons seem to follow this logic, with the exception of Concelhaut's Draining Touch (the only conditional this ability has is that the player is level 3 or higher). So by adding this conditional to Draining Touch it prevents these effects being used together. IsLevel(Player, GreaterThanOrEqualTo, 3) and not HasStatusEffectType(This, ChangeForm) Steps to apply this as mod: It may be that Draining Touch was intended to be able to be used with Spiritshift or other abilities like it. But in the final implementation it just seems to cause the character to get stuck in a loop that leads to them eventually being unable to make any attacks at all...
  9. The issue is that the conversation "03_cv_avetta" has a conditional on both node "32" and "35" that prevent them from playing unless the variable "n_Sealed_Fate_Stage" is "EqualTo", "3" (which is assigned when Talfor greets you). This can be fixed by setting the conditional to instead check if the variable is "LessThanOrEqualTo", "3" and also check "IsQuestActive" "05_TSK_Sealed_Fate". The expression in Apotheosis script: IsQuestActive(05_TSK_Sealed_Fate) and IsGlobalValue(n_Sealed_Fate_Stage, LessThanOrEqualTo, 3) Alternatively you can enable cheats (IRoll20s) and set the variable using the following console command: SetGlobalValue n_Sealed_Fate_Stage 3 This should (from what I have tested) allow all possible conversation options with both Avetta and Degnos to play correctly.
  10. Hmm, I know you said that you are excluding brackets for the post but is it possible you might still be missing some maybe? Otherwise the comma at the end of "DurationOverride" could also be causing some issue? { "$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp", "DebugName": "Spiritshift_StormBlight", "ID": "b1cbe940-1f51-48e0-ac54-d7547e8cc0e3", "Components": [ { "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp", "UsageValue": 49, "DurationOverride": 3999 } ] } Another way to maybe figure out the issue is to open "output_log.txt" file (this is located "\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\output_log.txt") and searching for instances of the word "error".
  11. Your party, your party never changes…
  12. Glad to hear there weren't too many! I was really concerned that I was doing a drive by "Oh by the way, here's a ton of work still to do..." From what I understand the "exported" folder, the "lax*exported" folders, and the mod folders inside of "override" are sort of viewed by the game in the same way. The contents of each folder override the preceding folders in order of release. So .stringtables have to follow the same folder hierarchy of the file they are overriding, or making additions to, in order for the game to know what to do with them. I think I remember reading somewhere that it wasn't originally possible to add new languages to the game using the override folder. This might still be the case, or there might be some other reason where localization mods require replacing the text instead? This kind of thing is still a gap in my Deadfire modding knowledge unfortunately.
  13. Congrats on the mod launch! There is a bit of an issue with putting the "localized" folder for the DLCs into "lax*exported" folders inside your mod folder. These need to be in the localized folder just like you've done with the base game for the strings to be overridden correctly. Eg. "lax1_exported\localized\en\text\conversations\lax01_00_arena_island" should be like "Bigger Dialogue Font For Steam Deck\localized\en\text\conversations\lax01_00_arena_island". The unfortunate thing (Really sorry I am only just remembering this now!) the DLCs have a couple of instances of additions made to other .stringtables (either in the base game or other DLCs) so you'll need to add those entries into the relevant .stringtable file. Once again, really sorry that I forgot about this! Not a problem, if you can't find a corresponding .conversationbunble that matches the exact name it isn't used in game!
  14. By all means. I started work on this as a mod. But I didn't get very far into it, and it wasn't something I was going to get back to anytime soon. Yeah that was the only way I could think of doing it when I tried working on this a few months ago. Searching through all the .conversationbundle files with a fine tooth comb, there was only so much I could do each day before it became hard to form coherent thoughts or sentences. Such that I only got through 4 folders (00_prototype, 02_pokohara, 03_neketaka_vailian_district, 04_neketaka_palace_district) of conversations before I had to put it to one side for my own sanity. I did manage to isolated all the "si_" and "bs_" that were actually conversations. From what I remember I did this for "si_" by running a search using Notepad++ to find all files with that prefix that had the line "DisplayType,Conversation". Which seems to come at the end of a .conversationbundle to mark it as conversation/banter style of conversation. Since Scripted Interactions and Super Interactions (when you are pulled into a conference call with the gods) have "DisplayType,Interaction" and "DisplayType,SuperInteraction" at the end respectively it gave me a list of what need to be included. As for "bs_" I think what I did was ran 2 searches on the files wit that prefix. First searching for "DisplayType": 1, and then searching for "DisplayType": 2,. From that whittled down a list and figure out which .stringtable entries needed to be include. I'll attach what I managed to get done, which you are free to use in your mod! bigger_font.zip
  15. Yeah I don't believe the new track looped for me either. Funny thing is, I'm pretty sure I've since stumbled on a post somewhere from around 2018 where someone made the same discovery with the main menu music... That;d be my guess as well. A few attempts were made to set up the states listed in the Music.txt in a new Wwise project, but I always gave up whenever it came to reading through the Wwise documentation. Likewise most video tutorials on the subject seem to either be from Audiokinetic marketing their product, or technical explanations that go over my head and might not even relate to the implementation of audio in Deadfire. I've no doubt there is a method that will work for someone with the resilience to find it. It's very cosy imo
  16. Exactly that, I just took an audio file (Sentinel Stand from the Tyranny soundtrack in this case) converted it to .wav, imported it into Wwise to convert it to a .wem file, and then renamed it "3123410" so it replaced the main menu track. Detailed steps: Install Wwise from the Audiokinetic Launcher (you'll need a free Audiokinetic User Account). Open Wwise and create a new project. Go to "Project"->"Project Setting...", the select the "Source Settings" tab, and change "Default Conversion Settings" to "Vorbis Quality High" by selecting it from the options by clicking the "..." Close the Project Settings window and save the changes (crtl+s). Import the track you want to replace the main menu music with (this needs to be a .wav file) by going to "Project"->"Import Audio Files..." (shift + i). Click "Add Files...", then navigating to the audio file you'd like to import, select it and click "Open", and then click the "Import" button. Now to convert the audio file to .wem go to "Project"->"Convert all Audio Files...". Make sure the box next to "Windows" is checked, then click the "Convert" button. You should be able to find the converted file by going to "Project"->"File Manager..." (Shift + F1), right click the directory next to "Project Folder:" and select the "Open Containing Folder" option to open the directory in a File explorer window. In the File Explorer window open the ".cache" folder and then the "SFX" folder. You should see your converted file here. Video instructions if you need it of the above steps: Now rename the file to "3123410.wem". You'll need to locate your Deadfire installation directory, this will be somewhere like: "C:\Program Files (x86)\Steam\steamapps\common\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\" From there navigate to: "\PillarsOfEternityII_Data\StreamingAssets\Audio\Windows" Before placing the converted audio file here you should make a back up copy of the original "3123410.wem" file just in case you need to reverse the changes. Once you have a backup of the original file move the convert file here, when you load into the main menu the audio file should now play instead of the main menu track. I don't know if this audio file is used elsewhere in the game, and if so whether or not it will play.
  17. Looked over the log and can only see one error: Analytics: InitDevAnalytics: System.Net.Sockets.SocketException: Error looking up error string at System.Net.Dns.GetHostByName (System.String hostName) [0x00000] in <filename unknown>:0 at System.Net.Dns.GetHostEntry (System.String hostNameOrAddress) [0x00000] in <filename unknown>:0 at Game.AnalyticsManager.InitDevAnalytics () [0x00000] in <filename unknown>:0 Which looks a lot like a "string" (text) error, which is often the cause of the game not being able to load. There is no mention of any specific .stringtable file failing to load, so I can't say for sure this is the cause. This is just guess work but "InitDevAnalytics" sounds like something related to the "Telemetry" option (opting in to send usage data to Obsidian). So if you have that enabled you could try disabling it in the option menu, restarting the Steam Deck and see if that maybe fixes it? As I said it is a guess and it's possible this won't work. Otherwise googling the issue turned up a steam thread where someone managed to fix a similar issue by; moving the saves to a temporary location, starting the game, then closing it and moving the saves back to their original location.
  18. Hey, this is usually caused by broken game files. Are you running any mods off of the steam workshop by any chance? Have you tried Verifying the Game Files to see if there are any missing or broken files? Could you post your output_log.txt file? Might be something in there that gives some clue as to what's going on. This is can be found: "\Steam\steamapps\common\Pillars of Eternity II\PillarsOfEternityII_Data\output_log.txt"
  19. Ah right'o, thought it was likely an intentional choice but thought I should bring it up just in case. Just starting a playthrough with CP, BPM and couple of other mods having a great time. Thanks for your work on this!
  20. I don't know if this was intentional, but cl.chanter.each_kill_fed.gamedatabundle is still present in the current Buffs package as an empty file: { "GameDataObjects": [ { } ] } This doesn't cause any errors in game, though it does prevent the mod from being opened with Apotheosis unless this file is deleted.
  21. Auto Update and the auto complete on expressions both working on my end. Really fantastic addition!
  22. From what I remember from digging through the assetbundles the title screen is actually a sort of level made up of a few different images and moving elements. Which makes it very difficult to make adjustments to.
  23. Would setting summoned weapons effects to end when a character is knock out make for a negative impact on balance? The main reason I ask is that it seems setting status effects that grant summoned weapons to "ClearOnDeath" seems to be a potential fix for NPC casters (such as Katrenn) failing to drop their equipped weapons.
  24. Unfortunately the atlas for "gamesystems" doesn't seem to be set up for modding in the same as those for "items" and "abilities". Which limit the possibilities to the existing sprites.
  25. I can't offer much insight into your first question. However... Crew icons are part of an atlas image that is stored in one of the assetbundle archives (gui.unity3d I think?). An "atlas" is basically a big image made up of smaller images, with coordinates for the game to find a specific image. As I understand it this is done to save memory. Something to the effect of it being more efficient to load a single big image into memory and reference parts of it, than it is to load 100s of smaller images. These icons are usually 42 by 42 pixels. This post goes into how to add new icons: I believe that crew icons are stored to the "ItemIcons" atlas.
×
×
  • Create New...