Jump to content

Kvellen

Members
  • Posts

    209
  • Joined

  • Last visited

Everything posted by Kvellen

  1. Yup the outcome of Xoti's quest affects which enchantment is added to her lantern and her ending slide. It was fixed with Patch 1.1.0.0035
  2. So I've managed to get it to work by changing the new node's number from "19" to "11" in Visual Studio. Which was an unused node number (presumably removed by the quest's designer when refining the quest). Honestly though I really have no idea why that worked. However any new nodes past "18" still seem to have the same issue. At this point I not so sure that this is an Apotheosis specific issue as I first thought. Here's the working version should you want to take a look: Hunting_Season_Alt_Working.zip I dunno, I swear every time I try to figure out how the quest system works in Deadfire it really just leaves me baffled... Regardless I'm just going to put it to the side for 2024 to try to figure out. I've also got some feedback that I'll write up then as well. Can't believe this tool has only been around a year! I'm still in awe of how simple this tool has made modding Deadfire! Thanks for all the work your doing on it, hope you have a great New Year!
  3. I think the portraits are defined in one of the assetbundles. Possibly character_hd.unity3d or characters.unity3d ? As far as I know these files can be edited but I haven't ever had much luck with getting edits to assetbundles to work for whatever reason. Otherwise it's likely that whatever assigns portraits to characters is defined in the level files themselves. Which I don't think are possible to edit.
  4. Sure! Hunting Season Alt.zip Yup I am using a script hook to start the quest: if { IsInScene(Player, AR_1507_Bog) and not HasQuestStarted(15_QST_Hunting_Season) } then { StartQuest(15_QST_Hunting_Season) } The animal attack on Sayuka is the only way to start the quest strangely. Though entering Bentbranch Bog does set the "b_HS_Entered_Bog" to "1". Which actually... Now that I'm typing this out that might actually be the issue! Since this variable triggers an event on the original route through the quest... Pretty much my goal with making this alternate route is that it will fix a minor bug that can come from killing the druids before being tasked to. If I can't get it to work there are other solutions I can take like disabling the ability to travel to Bentbranch Bog without Hunting Season active. But at least in theory an alternative quest route seems to me the least intrusive from a player's perspective. And as a plus allows the quest to be completed without needing to go through the RDC faction quest. Oh yeah that would be great! Could you do this for addendums as well? I actually created an alternate description for the quest, but removed it just in case that was the source of the issue.
  5. I'm trying to add a new Objective Node to the quest Hunting Season to make an alternate route to account for the player heading to Bentbranch Bog before the animal attack takes place on Sayuka. I can't seem to get it to work though. The quest seem to start and displays the string for the new Objective in the left hand corner, but shows it with a check mark as if it were just completed. And the quest log displays only the description. The output_log.txt shows the the following error that I believe is connected: Invalid Quest Tracker size! (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51) ERROR: Failed to execute compiled script Void StartQuest(Guid). See the following exception. (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51) ArgumentOutOfRangeException: Argument is out of range. at System.Collections.BitArray.Set (int,bool) <0x000f2> at Game.QuestManager.SetStateVisited (Game.Quest,int) <0x0011e> at Game.Quest.EnterState (int) <0x003b4> at Game.Quest.AdvanceHelper (bool) <0x00ae4> at Game.Quest.Advance (bool) <0x00051> at Game.Quest.Advance () <0x0001e> at Game.Quest.StartQuest (int) <0x0007e> at Game.QuestManager.StartQuest (System.Guid,int,UnityEngine.GameObject) <0x003bd> at Game.QuestManager.StartQuest (System.Guid,UnityEngine.GameObject) <0x0003b> at Game.Scripts.StartQuest (System.Guid) <0x0004c> at (wrapper dynamic-method) System.Runtime.CompilerServices.ExecutionScope.lambda_method (System.Runtime.CompilerServices.ExecutionScope) <0x0007a> at Game.ScriptManager.ExecuteScriptMethod (OEIFormats.FlowCharts.ScriptCall,bool,Onyx.ExceptionMode) <0x002a5> The only way I've found around this is linking to node 5 instead of creating the new Objective Node. This actually functions pretty flawlessly, except for the text in the strings containing mentions of events that don't occur when taking this route. Interestingly looking at the .questbundle in Visual Studio there would seem to be a "AlternateDescriptionIDs": field on a each node. But I can't see that there would be any way to add alternate description IDs to the nodes or really anyway to activated an alternate description on a specific event node.
  6. Sorry for the late reply. I don't think I have encountered something like this in any of my playthroughs and I can't seem to replicate the bug on my end. Do you know if this happen only on your current character or also when starting a new game? Can you give me some examples of specific weapons that you have noticed this happening on? Are you playing on Realtime With Pause or Turn-based? The modals I tried enabling and disabling were Haymaker, Bewildering Blows and Defensive Strike. And all seem to correctly disable on weapon swap/unequip and reenabled after a small delay when changing back.
  7. You can also put items straight into the player's inventory with: if { not IsInActiveScene(546e5d97-c234-46dc-9439-b23aafc02198) } then { GiveItems(Drug_Svef, 1) }
  8. I think I have pinned down the cause for Fleetmaster Okaya to think there is an attack on Sayuka. Essentially entering the Workshop is where the variable "b_HS_Animal_Attack_Underway" gets set to "1". But only if a few conditions are met, two of which are root of the issue: Hunting Season has not started, and Overgrowth is an active quest. Hunting Season starts once you leave the workshop. However if the Druid Leaders are dead at this point it will cause a sequence break, since the conditions for Hunting Season to actually start as a quest requires them to be alive. Leaving Sayuka (either through one of the city gates or by ship) sets the variable back to "0". But as long as the conditions are met entering the Workshop will always set "b_AnimalAttackUnderway" to "1" again. What I theories happens is that after completing Cignath Mor people here might be heading to the Workshop before speaking to the Fleetmaster Okaya, or are entering the town by travelling to the Workshop from the map. Since the conditions are in effect (Hunting Season has not started, Overgrowth is active) "b_HS_Animal_Attack_Underway" will get set to "1". Thankfully as stated above and by Tipster it is simple to fix just by leaving Sayuka and coming back without going into the Workshop. I'm trying to figure out the right approach for creating a more permanent mod fix for this. Which is tricky since the offending script in the Workshop is hardcoded and can't be disabled or updated to stop the variable from being set.
  9. A version of "male_aumaua_c" without a beard, from a reddit thread. Removing the beard from the portrait kind of makes him look like the Nameless One from Planescape Torment now that I look at it. First portrait is by Anna Helme A facebook post credits the second image to Gerry Arthur. The style looks consistent with theirs, but can't find it in their portfolio. I am one who is among the living, I just usually wait for a few request to pile up and until I've found the original source. Original is Mathias Shaw portrait by Julie "Shuploc" Damgaard Knight 9/9/14 by Danila Kalinin
  10. "BeneficialEffectDurationMultiplier"/"HostileEffectDurationMultiplier", or maybe "StatusEffectDurationAdjustment"/"StatusEffectDurationMultiplier" would be my guess? For refence "Food_roe_SE_BeneficialEffectDuration" from Roe uses "BeneficialEffectDurationMultiplier".
  11. That's certainly a new one. Have you tried "verifying the integrity of the game files"? Do you have any mods installed? Does it look like the menu is reopening when you click accept?
  12. I've always worked under the assumption that once a companion is added to the party, an instance of the character's data at that point is added to the save game. This is then used by the game to load the data it needs and if something is changed with the character in game (changes to their current equipment and gaining of new abilities, for example) it then saves these to the instance of that character that is stored in the game save. This would explain why the game never updates the companions to reflect any changes made to the character data in a .gamedatabundle. I can't test it myself at the moment, but the method suggested by noqn of using a script to remove and then add the companion back into the party is a good bet. As this brings up the class selection dialogue again and seems to set the character back to level 1, it might also update their stats. The mod Reclassify Companions uses this method and would work for testing.
  13. Yup, "Final Maneuverer" being in the quest log is what is causing all 3 of these NPCs to disappear. Essentially the NPCs have a flag that deactivate them upon entering Serpent's Crown with quest in your journal (this is done to prevent them being killed during the quest proper). While it's not possible to remove or modify this flag, I've put together a script that will at least reactivate them. You can download the zip attached that contains this script. This just needs to be unzipped and the "Unhide SC NPCs" folder placed into the "override" folder. deadfire_missing_npcs_fix.zip The "override" folder can be found inside the "PillarsOfEternityII_Data" directory located somewhere like: Steam: "C:\Program Files (x86)\Steam\steamapps\common\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\" GoG: "C:\Program Files (x86)\GOG Games\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\" or create it by opening a new Notepad file, and copy & paste the following into it: Save it as: "reactivate_npcs.gamedatabundle" (make sure there is no ".txt" at the end of the file when you save it) and put it inside of a new folder within the "Override" folder. Alternatively you can reactivate these NPCs using console commands. Though it should be noted that this route requires activating cheats, which prevents unlocking achievements! Instructions for using the console are inside the spoiler box: Thanks to everyone who has contributed to this thread!
  14. It sounds like the earthquake scripted interaction that pre-empts the DLC might not have triggered yet? You can check of the variables associated with it by opening the console( tilde ~ or backtick ` key located next to the 1 opens the console). Then enter the following commands: PrintGlobal LAX3_b_earthquake_occurred & PrintGlobal LAX3_b_earthquake_wave_encounter_occurred If the combat log displays: 'LAX3_b_earthquake_occurred': 1 'LAX3_b_earthquake_wave_encounter_occurred': 0 Then the scripted interaction should in theory be triggering fairly soon. I forget if there is an exact place for it to trigger, but I want to say heading into Nekataka and then resting at the inn and then leaving the city by sea and sailing some ways out to sea should work to trigger it?
  15. 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?
  16. 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.
  17. 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.
  18. 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.
  19. 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).
  20. 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.
  21. 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.
  22. 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...
  23. 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.
  24. 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".
  25. Your party, your party never changes…
×
×
  • Create New...