-
Posts
269 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Everything posted by Kvellen
-
Useful Tutorials and Links
Kvellen replied to BMac's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
The media player Foobar2000 with the vgmstream component is very useful for audio modding. This will allow you to listen to .wem files directly in the player, and then convert them to other formats for editing. -
In the documentation it states that "Boolean expressions are evaluated right-to-left with no operator precendence." Am I correct in my understanding of this as: when a script tries to run it checks off all the conditions required, in the case of formatted json, from "bottom to top"? And if a condition is not met does it still go through the remaining list or does it stop checking at the first conditional that would stop the script from running?
-
The lethargic-misshapen-bird has been grounded! Other than this and the "DLC installed" message boxes, another change I've made to better integrate the DLCs is to change the global script for Vatnir's missive to prevents it arriving during The Steward's ship-supply briefing: There is now a "IsConversationPlaying" conditional on the missive, and a "CallGlobalScriptAfterTimePasses" that this script again fires after a few in game hours. That way it'll arrive a few hours after the player has begun sailing towards Port Marje. While this solution feels better to me and the timing is such that the letter will arrive several before Furrante comes boards, it stills feel a bit awkward to have both irruptions happen in such close succession. The difficulty of Beast of Winter is also not really intended for a Watcher who is fresh off Port Maje island, so I'm wondering if there might be someway to delay it's arrival further so that it will arrive later into the game? Edit: Nevermind, it seems a "IsLevel" conditional can be put on the "DeliverMissive" script to ensure that Vatnir will only contact the player character once they've reached the recommended level.
-
Yup, that's where it was! Thanks! Ran a search for mentions of the note's GUID in the level and .assets files using Notepad++, which turned up a single mention in "level1123". Some pretty involved digging into this file with UBE indicates that the script is tied to a trigger object called "LAX03_Trigger_Pet_Smasher_Missive". From what's readable in Notepad, I'm guessing that when the player sails into the trigger box the script is fired. Which then hurls the poor bird at the ship, and finally disables the trigger box. So it should just be a simple matter of finding the GUID for this object and then disabling it with a scripthook!
-
I am working on a mod that will hides the message boxes that alert you to DLCs being installed. The "DeliverMissive" script for a certain “lethargic, misshapen bird" bearing a message about the wonderous critter cleaver, is however proving very hard to track down. Any ideas where I might find this? The only information I have to go on is that the critter cleaver apparently came with the Forgotten Sanctum DLC, but I can't find any mention of the script that delivers the letter in the lax_3_exported folder.
-
Ah right yeah, seems Eder ("A_Head_Eder") and Vatnir ("a_Head_Vatnir") are the exceptions to the rule. Edit: Hmm Nevermind, Eder's head doesn't seem to working for me either... Edit 2: Just rechecked and had just copied the name of Eder's head wrong, should work now! If the game can't find a prefab matching the name to load it still loads a blank selection to the list of appearance options. I compiled this list, which should hopefully be the correct names for all of appearance options unique to companions: Name Head Hair Facial hair Aloth a_Aloth_Head a_Aloth_Hair Eder A_Head_Eder a_Eder_Hair a_Eder_Facialhair Fassina a_Fessina_Head a_Fessina_Hair Konstanten a_Konstanten_Head a_Konstanten_Hair a_Konstanten_Facialhair Maia a_Maia_Head a_Maia_Hair Pallegina a_Pallegina_Head a_Pallegina_Hair Rekke a_Rekke_Head a_Rekke_Hair Serafen a_Serafen_Head a_Serafen_Hair a_Serafen_Facialhair Tekēhu a_Tekehu_Head a_Tekehu_Hair Vatnir a_Head_Vatnir Xoti a_Xoti_Head a_Xoti_Hair Ydwin a_Ydwin_Head a_Ydwin_Hair Mirke has neither a unique head or a unique hairstyle.
-
It requires adding the name of the companion's head data to the list of "NPCAppearanceOptionsGameData". The names of which tends to start with a lower case "a", followed by the name of the "Companion" (first letter is usually upper case) and then either "Head" or "Hair" (likewise first letter upper case). I feel like there may possibly be an exceptions to this naming convention, but I can't remember it off the top of my head. So for example Rekke is: "a_Rekke_Head", and Xoti is: "a_Xoti_Head". You then add this to one of the lists of head options like so: "MaleHeadAppearancePieces": [ { "ModelVisualDataPath": "prefabs/heads/m_hum_head01/a_m_hum_head01.asset" }, { "ModelVisualDataPath": "prefabs/heads/m_hum_head01/a_m_hum_head05.asset" }, { "ModelVisualDataPath": "prefabs/heads/m_hum_head01/a_m_hum_head06.asset" }, { "ModelVisualDataPath": "a_Rekke_Head" } ], "FemaleHeadAppearancePieces": [ { "ModelVisualDataPath": "prefabs/heads/f_hum_head01/a_f_hum_head01.asset" }, { "ModelVisualDataPath": "prefabs/heads/f_hum_head01/a_f_hum_head04.asset" }, { "ModelVisualDataPath": "prefabs/heads/f_hum_head01/a_f_hum_head05.asset" }, { "ModelVisualDataPath": "prefabs/heads/f_hum_head01/a_f_hum_head06.asset" }, { "ModelVisualDataPath": "a_Xoti_Head" } ], Example of the above that adds Xoti's and Rekke's appearances to the list of Meadow Folk head options: Deadfire_companion_heads.zip The companion's head should now appear in the customisation menu as a white icon. It's worth noting that there will be some strange visual glitches, such as facial hair clipping and the skin color of the head not being affected by your selection. In the case of the latter it might be possible to change this by opening the assetbundle and making changes to the one of the actual files.
-
resolution issues
Kvellen replied to Niqhozs's question in Pillars of Eternity II: Deadfire Technical Support (Spoiler Warning!)
Two things you could try that might hopefully work: The keyboard shortcut: "Windows Key + ↑ (Up Arrow Key)" which sets a currently selected window to full screen. Right-click the task bar select "Cascade windows". This shrinks and stacks all opened windows on top of eachother. -
Hey, hope you're doing well, and sorry for the very late reply! I've done a bit of looking into modding companions recently, and remembered your post asking for information on the subject, and thought I might share something that might be useful. For companion data, the GUID on the "CompanionGuidString" line refers to the ID of the actual in game object of the character. This is a different GUID to the ones found in "lax2_characters.gamedatabundle", and is pretty hard to track down. But opening up the game an using the "PrintInstance oei_hovered" console command while hovering your mouse over Waidwen should get you the right ID. If so then replacing the "b1a7e811-0000-0000-0000-000000000000" in your code with this ID, as well as in the script you're using to add him to the party, could possibly work? Maybe... I haven't actually tried it with an NPC.
-
Portraits V
Kvellen replied to Amentep's topic in Pillars of Eternity II: Deadfire General Discussion (NO SPOILERS)
The portrait I used here. Which is an edited alternative to one of the vanilla elf portraits (male_elf_c). Looks great, and I'm glad to hear that the conversion file was useful! -
So I did a bit of tinkering using the excellent documentation noqn has provided, and have created a basic proof of concept! PoE2_Adventurer_Conversation.zip There isn't really much to this mod beyond this one custom conversation, with a man giving monosyllabic responses (and possibly challenging you to a staring contest), but it does maybe give some insights into a few aspects of how a custom conversations can be implemented. For convenience, the "Speech Bubble" in the actual mod comes pre-equipped on the character. There is likely a lot I am skipping over explaining, so if there is something that anyone is curious about or would like me to go into further detail on, please let me know! Here are a few interesting aspects: As you can hear the conversation uses voice lines from the Stoic Male voice set. I've used the "ExternalVO" line on some nodes in the .conversationbundle to play specific audiofiles during certain points. For example "ExternalVO": "player_stoic_m/ch_player_stoic_m_investigate_40011", is used on the first node of the conversation for the character to give a sort of grunt as a greeting. However it's totally possible to add new voiced dialogue for characters during a custom conversation! I only did things this way to keep it simple for myself. But as I mentioned in the original post, if there is an audio file related to a conversation in the folder associated with the speaker (this is defined by the ChatterPrefix line) the game will play it. The audio file itself needs to be named after conversation and the 4 digit ID of the specific node it should be played on. So for example if there were an audio file named "adventurer_caedman_0001.wem" in the "player_stoic_m" folder, this could be played without needing "ExternalVO": "", to be used. There are a few minor details you might noticed that don't really sell this as a proper conversation between the characters: The adventurer and Watcher don't turn to face each other when speaking. Which is pretty impolite if you ask me! The Watcher won't approach the adventurer like they do other companions, which leads to potential for instances of conversations happening over long distances, or from other rooms entirely. The scripts FaceTarget and AIPathToObject/AIPathToPoint could be potential solutions for these respective problems? But I've yet to actually test them, since I've only just become aware of them as I am writing this post. Moving on to the character themselves, there are some pretty cool things that could potentially be done using the GUID of an exported character. An example of this is to do with the "Speech Bubble" item. On the "InspectOnUseButton": [ ] there is a conditional to only display the "Talk to Caedman" button when a character with the specific GUID of the adventurer is in the party. Oh and with regards to making a fully featured companion with topics of interest... this GUID can be used to link companion data to the adventurer! I haven't looked into anything really surrounding flagging a node as a topic, so I have no idea if this character will "roll their eyes and let out a long sigh" when an assigned topic is mentioned in other conversations. So yeah really exciting stuff!
-
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?