-
Posts
311 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Blogs
Everything posted by Kvellen
-
I ran a test in the hopes that it might be possible to get something like this to work straight from the pool of memories menu, unfortunately I think there is something hardcoded in the set up of each of the SSS encounters. While the arena maps (as seen in lax1_worldmap.gamedatabundle) share the same data structure as random encounter maps, I don't think they are set up for the "CreatureSpawns" parameter to work. I don't know for sure but at a guess random encounter maps likely have preset locations where enemies can be spawned, which the arena maps are lacking. Trying to use that parameter like any other random encounter just leads to an empty arena and an error message in the output_log.txt file along the lines of "failure to find default creature spawn on map". There is no way I can see to spawn prefabs using scripts as far as I can tell, which is a real shame. Ah well, at the very least it's an alternate way into a blank arena from the pool of memories using a .gamedatabundle:
-
Currently having issues with my PC at the moment, on top of being very rusty at Deadfire. So I can't offer anything in the way of play feedback, beyond just reiterating how slick this mod is! One thing I did wonder, is do you intend to give the Effigy's Resentment and/or Gift from the Machine buffs to players who would get them from their PoE1 Save/Selected Legacy? Agreed, definitely in the category of something that would be nice to have in this mod, but not required. Otherwise locking the non-functional blessing definitely communicates the point best. I think Start at Level 4 is the simplest to tweak. Probably just one more level (17), might be best? Otherwise I have just these 2 ideas: Reimplementing the +1 Power Level Blessing. I dunno might be a bit to strong. A blessing that add some single use consumable items (maybe as a reward for completing encounters for the first time or as limited stock from one of the merchants) that grant some of the permanent effects that are missing from the base game to the user. This granting some extra elements of customisation to the player character and adventurers? I think since other SSS achievements are unlocked when playing this mod excluding would be a little odd. I dunno I'm sure there are some who would prefer not to be granted an achievement without doing the work for it. But end of the day it is only 1 blessing point. There is the "exec" console command that allows you to write a number of commands into a txt file that can be executed. As for a more modding focus of custom arena encounters, I'm sure @Noqn would know more, but as I understand it the enemy composition of arena encounters in SSS are baked into one of the assetbundles. Which might mean custom arena encounters aren't something can be done without modding that file. I dunno for sure though as messing with world encounters isn't something I have tried before. A custom conversation featuring Faces of the Hunt should be possible.
-
Portraits V
Kvellen replied to Amentep's topic in Pillars of Eternity II: Deadfire General Discussion (NO SPOILERS)
and also both eyes blue for the hell of it Edit: bearded Barik as well: You can recrop the portrait to your liking using this site: https://www.notra.fr/portrait/deadfire and swap out the background using this site: https://www.remove.bg/ If you want something quick, once the site has removed the background the click edit button in the right hand corner, then select a background and pick one of the blur options. -
Portraits V
Kvellen replied to Amentep's topic in Pillars of Eternity II: Deadfire General Discussion (NO SPOILERS)
I can't find the guide unfortunately but here is the paper texture: Original image: https://www.deviantart.com/bobkehl/art/Cutthroat-Kaari-kalou-787875845 -
I don't think there is really any strict adherence to lore in any of the player portraits. I get the feeling that the portraits (human's especially) are more meant to be sort representations of various fantasy architypes (wizard, scholar, mercenary, monk, barbarian, etc). As for why those specific portraits were chosen for that wiki page, probably only the editor of that page of the wiki really knows. As for NPC portraits, I don't imagine there'll be any overt lore for this beyond just the assumption that folk intermingle as they do in the real world.
-
I agree with @Elric Galad. The 5k/50k starting money is at the end of the day an optional extra, and I'm sure there will be some players who will appreciate going in with the extra copper. The extra 5k at least to my mind isn't a lot to worry about, though I do see the concern being that there is little reason for players not picking the 50k starting gold blessing. But I imagine there are quiet a few purchases that can still really eat into that amount when gearing up a party (especially if a player has some premade characters that are fully kitted out that they want to hire). That said I haven't done the math on this, so if this does flush a player with more money than they would reasonably spend then it may be a case of just tweaking the amount given by the 50k gold blessing? Halving it to 25k maybe? Though there is the possibility of opening the pandora's box of tweak/changing the other blessings that aren't really worth taking for an S4 playthrough (ship things, port marje vendors, fine equipment, "...Can I Pet Him Anyway?")? Oh, so that's why there are spirit portrait versions of those characters in the game files? Good on Obsidian for assuming at least some players will try to kill every NPC! I'm sure someone would have pointed it out eventually if I hadn't. And I have got to say, I am really impressed with how smooth the start of this mod is!
-
The +5/50k Starting Money seem to function when set to OnGameStart from what I can tell. Doing the same with other problem blessings and changing their scripts to instead activate delayed globalscripts seems to get them to function properly as well. Though that might introduce some compatibility issues when the mod is toggled off and on, or if any other mods affects the cost of Berath's Blessings.
-
Reading party banter
Kvellen replied to kapafogbill's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
It's a hassle but about the only way to make sense of the companion banter .stringtable files is to have the corresponding .conversationbundle open alongside it and following "Links" from each Node number to the next. "NodeID": 0, links to the start of every possible banter conversation a character can have so long as the listener is in the party, after which the conversation keeps following on to the next node it is linked to until reaching a node without any links. At which point the conversation ends. For context of who is talking to who you'll need to know the "SpeakerGuid" and "ListenerGuid". There are probably a few exceptions but usually the conversation will stay relegated to the .stringtable and .conversationbundle of the character that initiates it. Companion Speaker GUIDs: Sidekick Speaker GUIDs: So for an example, this is a conversation from "companion_aloth_banters" between Aloth ("5529e4b7-42dc-4895-b9f8-23375a945413") and Serafen ("e41c506b-abcc-45f8-98ab-bba00a0ebc16"): As I said this is a hassle but it is the only way to make sense of it at moment I'm afraid.- 1 reply
-
- 1
-
-
Changing a companion's appearance using the game files is pretty difficult from what I understand. Appearance of a companion before they join the party is stored as a monoscript prefab in the characters.unity3d assetbundle I think? I haven't really delved into it myself but this would probably be the easiest way to make changes to the character's appearance though. Once a companion is in your party their appearance is seemingly stored into an .objsav (named after the character's object GUID, e.g. "b1a7e801-0000-0000-0000-000000000000.objsav" is Aloth) inside of a save file. It's pretty easy to open a save file as it is pretty much just a zip, but the .objsav of the companion isn't modifyable with any tool I'm aware of.
-
There isn't anything in the documentation about scripts that call console commands unfortunately. Edit: Examining the game assemblies with DnSpy shows this: So if there were a script for changing tactical mode it would look something maybe: "Data": { "FullName": "Void SetTacticalMode(TacticalMode)", "Parameters": [ "Roundbased" ] } However this didn't seem to work from what I have tested... My assumption is that it has to actually be added to a list of available scripts to be accessible outside of the console commands.
-
A lot of skimming through .gamedatabundle files for modding! For the longest time I just thought the Vox Machina character data in SSS files was somekind of buried Easter egg. Like maybe the characters were in the spectators stands. (Very well armed spectators!) I finally tracked down an encounter with the DebugName of "lax01_arena_duel_vox_machina", I figured maybe it could be unlocked by playing through some combination of SSS fights. Only to find out even if you were to meet the conditions to show it (one of which being a boolean that's always set to "False"), it isn't even on the list of available arena encounters.
-
At some point during development of Seeker, Slayer, Survivor there was to be a "Champion of the Hunt" challenge involving a fight against the members of Vox Machina. The remaining data (character stats, arena encounter listing, and a conversation) and ui suggests it was probably in early stages when it was scrapped. Though it is no longer accessible via the Pool of Memories without mods, it can still be started through the console ( ` ) with cheat enabled (iroll20s): To load into the map: LaunchRandomEncounter 7ae85798-f2a8-41ff-a210-ffdbce5f2311 To get the conversation to play and the characters to turn hostile: StartConversation b1a8e901-0000-0000-0000-000000000000 85427693-4d26-4f96-9f17-3358fb87d940 0 The conversation consists purely of lines taken from the voice sets added in the Critical Role Pack dlc. Though audio no longer plays as it should, due to the "ExternalVO" line in the .conversationbundle file pointing to old/incorrect filenames. There are also no portraits attached to the characters. Either way I would guess it was only ever meant to serve as a placeholder conversation for the early stages of development. There is no reward for completing this encounter.
-
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!