-
Posts
311 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Blogs
Everything posted by Kvellen
-
Tweaking turn-based cipher
Kvellen replied to PsyCoil's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
Hey, I believe that the line you would need to change for Borrowed Instinct to be: "OverrideTacticalActionType": "None", to "Free", . This might actually affect spell casting time in turnbased as well? So worth trying changing that line for Mental Binding to one of the options here to see if it will work: https://eternity.obsidian.net/game-data-formats/enumerations#tacticalactiontype Could it be that you are changing the values on "Mental_Binding_AOE" instead of "Mental_Binding_Target"? Though according to the modding documentation CastSpeedID is to do with the duration of the casting animation, but it is unclear if it relates to the amount of turns it takes to cast in turn based mode. Otherwise it's worth checking that the mod is loading properly by searching the output_log.txt file for any mention of "error"? Even one error in a gamedatabundle can cause the file to either not load, or partially load. The Output log can be a little hard parse, but usually it will mention if there is an "unexpected" character like a comma, "quotes" or bracket {} [] as causes. -
Despite my not really being that into the setting anymore, a 40k CRPG is always something that is rolling around in my head pretty often. Specifically this section of the intro before the "In the grim darkness of the far future, there is Only War" bit, always seems to me really ripe with unexplored potential subject matter: 40k narratives don't tend to focus in on the nitty gritty details of day to day life for very long. Which I kind of get. The fantasy of 40k is being the arm of the Imperium, carelessly weeding out corruption to prevent the forces of Chaos bleeding into reality. As opposed to something as mundane as an inquisitor looking into mutations among the population, and finding the most likely cause to be slurry from the massive factory seeping into the water supply of its workers. I have yet to get round to any of the Pathfinder games, but from reviews Owlcat seem like a good choice for making a CRPG based on an established licence.
-
This isn't something I am really working on, but I figured it might be interesting to others. I've just discovered it is possible to have adventurers (the custom characters that can be hired from most inns) speak during a conversation! In brief you can do this by adding the speaker GUID (these are found in speakers.gamedatabundle) of the voice set in use by the character to the SpeakerGuid and FocusedSpeaker sections of a conversation node. The name of the character and the current portrait will then appear in the conversation window. If there are audiofiles that correspond to the conversation node in the folder associated with the voice set these will also be played during the conversation. This should in theory allow for the creation of rudimentary sidekicks/companions with voiced dialogue! With a lot of work and some degree of trial and error possibly even full conversation hubs of their own... Though the main hurdle as far as that goes, is that the lack of a button to start a conversation with adventurers directly. So the only way I could think of is using something like an item to start the conversation, similar to how the burned book works. There is also the lack of modding documentation related to the data structure of .conversationbundle files to contend with. None the less could be really cool to see what someone dedicated enough might come up with! I'm happy to answer questions to the best of my ability about anything I have written here.
-
Portraits V
Kvellen replied to Amentep's topic in Pillars of Eternity II: Deadfire General Discussion (NO SPOILERS)
-
That is strange... I assume that Deadfire stores a snapshot of some data related to acquired weapons/items/companions/etc in the save of the character, which would be my guess for why the changes might not apply to the weapon if it already in your inventory. Maybe changing the event list to use the standard arquebus sounds might work? Try placing the "dragons dowry fix" folder in the attached zip into the override folder (if there is no folder called "override" create it). Hope this works! dowry_sound_fix.zip
-
Huh you are right about it lacking sound effects and is seemingly (from a quick glance on my part) the only Arquebus with a GUID to an audio event list. The following should work for adding typical Arquebus sounds effects to the weapon: { "GameDataObjects": [ { "$type": "Game.GameData.WeaponGameData, Assembly-CSharp", "DebugName": "Arquebus_U_Dragons_Dowry", "ID": "1261d34f-af56-42c4-983e-bee8f11c28b5", "Components": [{ "$type": "Game.GameData.WeaponComponent, Assembly-CSharp", "AudioEventListID": "00000000-0000-0000-0000-000000000000" } ] } ] } Interestingly searching for GUID the event list "16dcb3b6-6d7f-455d-b1ca-ec1594389032" in audio.gamedatabundle points to list that seems to be something related the Blazing Fury ability, but since this list lacks all the typical Arquebus audio events this leads to no audio playing.
-
That sounds like it could work. Though having looked up some more context for the conversation, I think the main point of the line is to show Xoti's frustration with Vatnir for lying to everyone at Harbingers' Watch, and for trying to defend that lie now. I'm not a German speaker so don't know if this would make sense but maybe something like: "You were trying to sell people horse apples/droppings as potatoes, you mean." or: "You were talking out of your butt this whole time. Just admit it." Otherwise it might be a case of just replacing that line with a German saying along the lines of calling someone a liar.
-
It's a variation on the common English saying "full of ****", but changed to take into account Xoti's upbringing on a farm, and in a culture that doesn't like swearing. So where she grew up people might have likely used the term "horse apples"* to refer to "horse excrement" and as such use that in place of the swear word in the saying. Basically Xoti is dismissing Vatnir's previous theory and explanation of the dragon as a harbinger of Rymergand as lies. And strongly implying that he really doesn't know what he is talking about. *it would seem there is actually a type of fruit that is sometimes referred to as a "Horse Apple". It grows on a very throny bush that was used as type of natural fence around some farms. The fruit itself isn't edible, so would be seen as pretty useless. So it is possible something being "full of horse apples" (which are basically useless) might be a part of what she is saying as well?
-
Fix potions in deadfire.
Kvellen replied to jvan's topic in Pillars of Eternity II: Deadfire General Discussion (NO SPOILERS)
It is a really frustrating bug. Escaping combat to heal only for my Assassin to glide on back towards the enemy with a sliver of health was a constant problem in my first playthrough. Always just thought it was due to having too high an action speed or something. Had no idea it was tied to AI Behaviour. I imagine this is a long shot but is there a chance that some kind of modded .aibehaviorbundle can fix it? It looks to me when it happens like the character might not be waiting the correct amount of time for the consume action to complete, or are possibly cancelling it in favour of the higher priority action of attacking perhaps?. -
Portraits V
Kvellen replied to Amentep's topic in Pillars of Eternity II: Deadfire General Discussion (NO SPOILERS)
Made a Watercolor converter file for Photopea. Double-click the thumbnail of the "Portrait" layer. This will open a smart layer tab in the program. replace the Calista image with your desired picture (can remove the background with https://www.remove.bg/) Go to file->Save(Smart Object) (or press ctrl+s) and then go back to the Deadfire Watercolor Template.psd tab. Might have to tweak a few things to get it to look right (altering the properties of the "Level 1", and/or Gaussian Blur effect strength, will make the lines darker/stronger). When you are happy with the results (or just want to preview it) go to File->Export as->PNG and change the dimensions to 90px by 141px. It's not perfect, but it works pretty well. The below were all made with this file, all except 2 required only minor edits. -
Portraits V
Kvellen replied to Amentep's topic in Pillars of Eternity II: Deadfire General Discussion (NO SPOILERS)
Based on: https://www.artstation.com/artwork/YaDZaK -
Decided to change this to a scripthook instead. Since that will account for the cases where the Drunkard's Regret is already collected and will also check if Oswald is dead. The only outlier remaining I could see is a situation where the ring was sold or lost some how before the scripthook is used. { "GameDataObjects": [ { "$type": "Game.GameData.ModScriptHookGameData, Assembly-CSharp", "DebugName": "Erol_Searched_Modscript", "ID": "d7891c14-b47e-4b71-9557-fbf10382f6e3", "Components": [ { "$type": "Game.GameData.ModScriptHookComponent, Assembly-CSharp", "RunOnlyOnce": "false", "SucceedOnlyOnce": "true", "Script": { "Conditional": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsGlobalValue(String, Operator, Int32)", "Parameters": ["n_Erol_State", "EqualTo", "3"], "Flags": "", "UnrealCall": "", }, "Not": false, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsItemCount(Guid, Operator, Int32)", "Parameters": [ "8e0aa96f-1726-43aa-8d67-a3a1c3816cdd", "GreaterThanOrEqualTo", "1" ] }, "Not": false, "Operator": 0 } ] }, "Scripts": [ { "Data": { "FullName": "Void SetGlobalValue(String, Int32)", "Parameters": ["b_10_erol_body_searched", "1"], "Flags": "", "UnrealCall": "", }, "Conditional": { "Operator": 0, "Components": [] } } ] } } ] } ] } Interesting bit of trivia, all variables to do with Oswald use the name "Erol", and hint that at some point during development this quest would have been about the original owner of the Goose and Fox Tavern from PoE1. There is an unused quest item called Erol's Ring which is described as : "A simple band of gold with the words "Goose and Fox" written on the inside." In PoE1 Bishop (the current owner) mentions that Erol fled after getting into an argument with a Thayn during a debate.
-
Have run into this bug on a recent version of the game, and I am trying to make a fix. Essentially if you take the quest from Khan then head to Oathbinder's Sanctum, interrupt Oswald's trial, but let the Steel Garrotte proceed his execution. You are rewarded with 1400 copper, and at the end of the conversation teleported to the entrance chamber. This is where the problem occurs as to progress to the next stage of the quest you need to go back to trial chamber and search Oswald's body. From what I can tell the script that should set the variable "b_10_erol_body_searched" to "1" (True) when interacting with the corpse, doesn't activate when interacting with the loot pile that has replaced it with the scene changed. If you let the trial playout without interrupting it, then search the corpse the script will activates just fine though. Is there someway to maybe set it so a script will also trigger when searching this instance of the loot pile? Currently the only potential workaround I've come up with is to set following script on the Drunkard's Regret ring on his corpse, that activate once the item is picked up. { "GameDataObjects": [ { "$type": "Game.GameData.EquippableGameData, Assembly-CSharp", "DebugName": "Ring_U_Drunkards_Regret", "ID": "8e0aa96f-1726-43aa-8d67-a3a1c3816cdd", "Components": [{ "$type": "Game.GameData.DataScriptEventComponent, Assembly-CSharp", "Scripts": [{ "Event": "OnItemCollected", "Script": { "Conditional": { "Operator": 0, "Components": [] }, "Scripts": [{ "Data": { "FullName": "Void SetGlobalValue(String, Int32)", "Parameters": ["b_10_erol_body_searched", "1"], "Flags": "", "UnrealCall": "", }, "Conditional": { "Operator": 0, "Components": [] } } ] } } ] } ] } ] }
- 1 reply
-
- 1
-
-
So after a bit of testing, I think this might be possible. The game will load a .globalscriptbundle mod, provided all 3 of the lines below are present. { "GlobalScripts": [], "GlobalExpressions": [], "GlobalPreferences": [] } This seems the case even in cases such as yours where what you'd want to change only involves the GlobalScripts brackets. Making changes this way does work from what I can tell from a very rough test involving modifying a few of the variables in the script that sets the VTC to unfriendly if you reject Alvari's offer in favour of keeping Maia in your party. The faction relation with the VTC seems to remain friendly (though they were still unwilling to work with me after the conversation), and upon leaving Neketaka I did not received the letter from Pallegina that removes her from my roster. I'm not 100% sure it was just overriding the specific changes made to the script in the file or was actually overriding (and erasing) all other lines from the globalscripts.globalscriptbundle. From what I gather global scripts only run when they are called to, so my concern is that the modded file might just be setting this line as the only global script in existence. Nevermind, this is actually how a global script gets added for The Beast of Winter, so modding global scripts in this way should be totally fine! Formatting example: { "GlobalScripts": [ { "ScriptCalls": [ { "Data": { "FullName": "Void SetGlobalValue(String, Int32)", "Parameters": [ "b_Queen_Hasongo_Missive_Delivered", "2" ], "Flags": "", "UnrealCall": "", "FunctionHash": 1935477378, "ParameterHash": 1987798281 }, "Conditional": { "Operator": 0, "Components": [] } }, { "Data": { "FullName": "Void DeliverMissive(StringTableType, Int32, Guid)", "Parameters": [ "Gui", "3790", "1e1efe1c-4781-40a0-b07d-741c839cdf06" ], "Flags": "", "UnrealCall": "", "FunctionHash": -275187270, "ParameterHash": 724583833 }, "Conditional": { "Operator": 0, "Components": [] } } ], "ID": "03b357d7-7a96-454f-a9d3-c80820416374", "ScriptType": 0, "Filename": "gsd_04_queen_hasongo_missive.globalscript" } ], "GlobalExpressions": [], "GlobalPreferences": [] } The above script normally would deliver the message from Onekaza that acknowledging your having gone to Hasongo, but will now instead deliver you one from Furrante instead. You can test this by saving it as a .globalscriptbundle file, enabling cheats in the console and then calling the script using the console command: CallGlobalScript 03b357d7-7a96-454f-a9d3-c80820416374
- 1 reply
-
- 1
-
-
This is something I have looked into a little. It's possible to switch around already implemented tracks, with a mod that changes all instances of the track in audio.gamedatabundle to a preferred existing track. I'm pretty sure the name of the track for ship board combat is called "mus_scr_deck_to_deck". As for adding/replacing tracks? That seems to require some extensive Wwise knowledge unfortunately. In theory it should be a simple matter... The audio files for every track is located in: "Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\StreamingAssets\Audio\Windows" as a series of .wem (104473804.wem for example is the music that plays during character creation). These are all seemingly catalogued/indexed by music.txt (104473804 "mus_glb_character_creation"), and are then queued up either in audio.gamedatabundle or during a conversation. However all attempts to replace specific tracks with a .wem with the same name only seems to lead to silence. So there is likely something built into the file format itself that requires extra set up in Wwise, or maybe something in the music.txt that has to be updated in someway. It doesn't help that the documentation for Wwise, isn't especially user friendly. There is also the possibility that the implementation of it for Deadfire is not the norm.